如何将分离HEAD的冲突修复合并至原分支?
解决分离HEAD状态下的冲突变更同步问题
别慌,这种场景在分支同步时很常见,咱们一步步把修复好冲突的变更同步到sales-refactor分支并推送到远程:
步骤1:先把当前分离HEAD的提交“存”起来(防止丢失)
现在你处于分离HEAD状态,且已经解决完冲突对吧?先给这个临时提交创建一个临时分支,确保变更不会丢:
git branch temp-fix
执行完可以用git branch命令确认,会看到temp-fix分支指向你刚才合并后的提交。
步骤2:切回sales-refactor分支
git checkout sales-refactor
步骤3:把临时分支的变更合并到目标分支
把刚才解决完冲突的合并结果同步到sales-refactor:
git merge temp-fix
因为temp-fix是基于sales-refactor的旧提交(e17ba371)合并master后的结果,这里基本不会出现新冲突,直接就能完成合并。
步骤4:清理临时分支(可选)
合并完成后,临时分支就没用了,可以删掉它:
git branch -d temp-fix
步骤5:推送到远程Bitbucket仓库
现在sales-refactor已经包含了和master同步后的所有变更,直接推送即可:
git push origin sales-refactor
补充:如果还没提交冲突修复结果
如果你刚才解决完冲突但还没完成合并提交,记得先在分离HEAD状态下执行:
git commit -m "Merge origin/master into sales-refactor, resolved conflicts"
完成提交后再执行上面的步骤。
内容的提问来源于stack exchange,提问作者andrux
相关产品推荐
相关产品推荐

