Git权限受限下,如何使dev分支与origin/main完全同步?
解决dev分支与origin/main完全同步的问题
问题1:让dev分支成为origin/main的精确副本
直接通过本地重置+强制推送的方式就能实现,步骤如下:
- 先确保本地拉取到
origin/main的最新代码:git fetch origin main - 切换到
dev分支:git checkout dev - 强制将本地
dev分支重置为origin/main的最新状态(此操作会丢弃dev分支所有超前提交,完全对齐远程main的代码与提交历史):git reset --hard origin/main - 强制推送到远程
dev分支(由于本地与远程dev的提交历史已不一致,必须用强制推送覆盖远程分支):
注:如果仓库设置了分支保护禁止强制推送,那只能等负责权限配置的人员到岗后操作;但根据你无法新建分支的情况,推测你拥有对git push --force origin devdev分支的强制推送权限。
问题2:拉取origin/main时完全采用main内容并忽略dev分支所有内容
核心操作和问题1一致,通过git reset --hard origin/main就能直接丢弃dev分支的所有本地修改、超前提交,让本地dev分支的代码和提交历史完全复刻origin/main,不会保留任何原有内容。
如果只是临时在本地同步,不需要推送到远程,执行前3步即可。
内容的提问来源于stack exchange,提问作者Farid
相关产品推荐
相关产品推荐

