如何正确地解决 Git 合并冲突?
1. 使用图形化工具(IDEA / Sourcetree)
打开 IDEA,执行 git pull
或者git merge
操作,出现冲突时,IDEA 会在文件右上角标出“Conflict”字样。点击文件,IDEA 会为你展示三种版本:当前分支的版本(左)、合并分支的版本(右)、共同祖先的版本(中间)。你可以选择直接接受其中一方的修改,或者手动编辑合并。 完成合并后,保存文件,提交即可。
2. 使用命令行工具(Git Bash)
执行 git pull
或者git merge
,如果有冲突,Git 会告知你冲突的文件。进入冲突文件,Git 会用特殊的标记(如 <<<<<<<
,=======
,>>>>>>>
)标出冲突部分。你需要手动修改文件,保留你想要的部分,删除其他标记。修改完成后,执行 git add <file>
添加解决冲突的文件。最后,执行 git commit
完成合并。
3. 使用外部合并工具(Meld / Beyond Compare)
配置好 Meld 后,执行 git mergetool
。Git 会自动打开 Meld,显示冲突文件的三方版本。你可以在工具中选择保留哪些部分,或者手动编辑。 完成后保存并退出,Git 会提示你已经解决冲突。
为什么“暴力”解决不行?
总结一下
对编程、职场感兴趣的同学,可以链接我,微信:coder301 拉你进入“程序员交流群”。