Git 解决合并冲突
在 Git 中,合并冲突(Merge Conflict)通常发生在以下场景:
- 相同部分被修改:当两个分支中的同一文件被不同的人修改了相同部分,Git 无法确定应采用哪个版本。
- 不同部分被修改:如果两个分支分别修改了文件的不同部分,Git 通常可以自动合并这些更改。但如果修改有重叠,就会导致冲突。
- 文件删除与修改:一个分支删除了文件,而另一个分支修改了该文件,合并时会引发冲突。
解决合并冲突的步骤如下:
识别冲突文件
执行 git merge
时,Git 会列出所有有冲突的文件。
手动解决冲突
打开冲突文件,Git 会在冲突部分插入特殊标记:
<<<<<<< HEAD
这是 master 分支的内容
=======
这是 feature 分支的内容
>>>>>>> feature-branch
你需要决定保留哪个分支的更改,或者结合两者的部分,然后删除这些标记。
使用合并工具
如果你更喜欢图形界面,可以使用 Git 合并工具,如 KDiff3、P4Merge、Beyond Compare 等,这些工具可以帮助你更直观地解决冲突。
标记冲突为已解决
解决所有冲突后,使用 git add
命令将文件标记为已解决:
git add <file>
你可以逐个添加文件,或者使用 git add .
添加所有已解决的冲突文件。
提交解决冲突的更改
最后,使用 git commit
提交你的更改,记录合并冲突的解决过程:
git commit -m "解决合并冲突"
这条提交信息会帮助你和团队成员了解这次提交的目的。