如何让Git Fork回退至既落后又领先上游仓库的状态?
修复Fork的Master分支状态
先确保本地仓库已关联上游仓库并拉取最新代码:
# 若未关联上游仓库,先执行此命令 git remote add upstream <上游仓库的Git地址> # 拉取上游仓库的所有分支最新代码 git fetch upstream切换到你那个保留了合并前正确状态的分支(比如命名为
clean-branch):git checkout clean-branch将master分支重置到该干净分支的状态,这会完全覆盖当前master的所有变更:
git checkout master git reset --hard clean-branch强制推送修复后的master分支到你的GitHub Fork(因涉及历史覆盖,仅在自己的Fork仓库执行此操作):
git push origin master --force
完成以上操作后,你的master分支就会回到既有自己的独有提交(领先上游仓库旧版本)、又落后于上游仓库最新变更的状态,此时你可以重新尝试合并上游变更:
git merge upstream/master
注意:强制推送会覆盖远程仓库的master分支历史,若有其他协作者基于你的master分支开发,需提前沟通;但针对个人Fork仓库,此操作是安全的。
内容的提问来源于stack exchange,提问作者user24186854
相关产品推荐
相关产品推荐

