优秀的编程知识分享平台

网站首页 > 技术文章 正文

解决冲突合并分支(合并冲突游戏)

nanyue 2024-08-01 22:59:29 技术文章 13 ℃

人生不如意之事十之八九,合并分支往往也不是一帆风顺的。

新建分支

准备新的feature1分支,继续我们的新分支开发:

$ git checkout -b feature

修改文件

修改index.html:

echo conflict >> index.html

分支提交

在feature分支上提交:

$ git add index.html

切换回master分支

$ git checkout master

master分支修改

在master分支上修改index.html:

echo master_conflict >> index.html

master分支提交:

$ git add index.html

现在,master分支和feature分支各自都分别有新的提交,变成了这样:

分支合并

这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突,我们试试看:

$ git merge feature

果然冲突了!Git告诉我们,index.html文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件:

$ git status

我们可以直接查看index.html的内容:

$ cat index.html

<<<<<<< HEAD 和 ======= 中间的部分是master分支修改的内容

=======和>>>>>>> feature是feature分支修改的内容

合并修改

我们只保留master修改的内容,然后保存:

$ cat index.html

再提交:

$ git add index.html

现在,master分支和feature分支变成了下图所示:

用带参数的git log也可以看到分支的合并情况:

最后,删除feature分支:

$ git branch -d feature

工作完成。

Tags:

最近发表
标签列表