在Git中解决合并冲突,需要以下步骤:
- git pull / git merge将有冲突的分支合并
- Git会提示哪些文件出现冲突,Git会在这些文件中加入标记帮助我们解决冲突
- 打开有冲突的文件,并根据需要修改这些文件
- 当所有冲突文件都已解决时,使用git add等命令将其添加到暂存区
- 使用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中解决合并冲突需要手动修改有冲突的文件,并完成提交。