Git撤销过的合并提交再次合并时,如何确保历史变更生效?
Git合并撤销后重新合并的解决方案
核心结论
不用特意撤销那个「撤销合并」的提交,直接合并develop到master即可,但要注意正确处理冲突。
为什么不需要撤销之前的撤销操作?
Git的合并逻辑是基于内容差异而非提交历史的线性关系。你之前撤销合并只是让master回到了合并前的状态,但develop分支上的所有提交(包括那次意外合并里的代码变更)都还在。当你再次合并develop到master时,Git会自动对比两边的内容,把master上缺失的所有变更(包括之前被撤销的那些)重新应用上去。
具体操作步骤
- 先切换到master分支并拉取最新代码:
git checkout master git pull origin master - 合并develop分支:
git merge develop - 处理冲突(如果有的话):
- 打开标记冲突的文件,手动保留develop分支上的正确内容,删掉冲突标记(
<<<<<<<、=======、>>>>>>>) - 标记冲突文件已处理:
git add <冲突文件名> - 完成合并提交:
git commit
- 打开标记冲突的文件,手动保留develop分支上的正确内容,删掉冲突标记(
- 推送合并后的master到远程仓库:
git push origin master
验证合并是否完整
合并完成后,用下面的命令检查develop上的所有提交是否都已合并到master:
git log --oneline master..develop
如果没有任何输出,说明develop的所有变更都已经同步到master了。
内容的提问来源于stack exchange,提问作者monamona
相关产品推荐
相关产品推荐

