Git两分支差1次提交但代码无差异,GitHub显示互相超前如何解决
问题原因
你在合并PR时选择了生成合并提交的合并模式,GitHub为master分支生成了1个全新的合并提交(该提交仅记录合并关系,代码内容和dev分支的HEAD完全一致),此时分支线出现分叉:
master有1个dev没有的合并提交dev有1个master没有的原功能提交
两个提交的代码内容完全一致所以全局代码无差异,但提交哈希不同,就会出现两个分支互相提示领先对方的情况。
修复方案
方案1:不修改提交历史(更推荐)
直接在本地把master的合并提交同步到dev,因为内容完全一致不会产生代码冲突,合并后推送到远端即可:
# 切换到本地dev分支 git checkout dev # 拉取最新的远端master代码并合并到当前dev分支 git pull origin master # 推送到远端dev分支 git push origin dev
操作完成后两个分支提交数会统一为112次,完全对齐。
方案2:让dev完全对齐master的提交线
如果不需要保留dev的提交计数,直接重置dev分支为和master完全一致即可:
git checkout dev git reset --hard origin/master git push -f origin dev
操作完成后两个分支提交数都会是111次,完全对齐。
内容的提问来源于stack exchange,提问作者Baterka
相关产品推荐
相关产品推荐

