Git 解决合并冲突

预计阅读时间1 分 188 views

在 Git 中,合并冲突(Merge Conflict)通常发生在以下场景:

  1. 相同部分被修改:当两个分支中的同一文件被不同的人修改了相同部分,Git 无法确定应采用哪个版本。
  2. 不同部分被修改:如果两个分支分别修改了文件的不同部分,Git 通常可以自动合并这些更改。但如果修改有重叠,就会导致冲突。
  3. 文件删除与修改:一个分支删除了文件,而另一个分支修改了该文件,合并时会引发冲突。

解决合并冲突的步骤如下:

识别冲突文件

执行 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 "解决合并冲突"

这条提交信息会帮助你和团队成员了解这次提交的目的。

分享此文档

Git 解决合并冲突

或复制链接

本页目录