如何解决Git合并冲突?代码举例讲解

在Git中解决合并冲突,需要以下步骤:

  1. git pull / git merge将有冲突的分支合并
  2. Git会提示哪些文件出现冲突,Git会在这些文件中加入标记帮助我们解决冲突
  3. 打开有冲突的文件,并根据需要修改这些文件
  4. 当所有冲突文件都已解决时,使用git add等命令将其添加到暂存区
  5. 使用git commit将暂存区内容提交,完成合并

例如:
在两个分支分别对同一个文件做不同的修改,master分支内容如下:

hello 
world

feature分支内容如下:

hello
Git  

将feature分支合并到master:

$ git merge feature 
Auto-merging hello.txt
CONFLICT (content): Merge conflict in hello.txt
Automatic merge failed; fix conflicts and then commit the result.

打开hello.txt文件:

hello 
<<<<<<< HEAD
world
=======
Git  
>>>>> feature

Git在发生冲突的地方加入了标记,我们需要根据需要修改文件:

hello 
world
Git

添加并提交文件:

$ git add hello.txt 
$ git commit -m 'fix conflict'
[master 68f807e] fix conflict

合并完成,现在master分支内容为:

hello  
world
Git 

我们可以看到,在Git中解决合并冲突需要手动修改有冲突的文件,并完成提交。