前言
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
要开始学习,就要趁早行动啦~
一、分支合并冲突的场景
- 该篇博客是 https://www.cnblogs.com/dream66/p/12792950.html 的后续,有需要的读者可以看前一篇
- 当分支切换到dev分支,修改一个文件并提交,然后切换到master分支,再对同一个文件进行修改并提交,此时合并时会产生冲突
二、分支合并冲突现象实例
为了方便读者理解,新建立一个仓库,然后按如下操作:
- 手动新增一个 test01.py 文件,内容为print('test01')
- 使用 git add * 、git commit -m “第一次提交” 进行提交
- 使用命令 git checkout -b dev 创建并切换到分支dev
- 对 test01.py 文件进行修改,添加一行内容为print('dev')并提交到版本库
- 使用命令 git checkout master
- 对 test01.py 文件进行修改,添加一行内容为print('master')并提交到版本库
- 使用git merge dev,把dev分支合并到master主干分支上
如上图所示,上面操作git无法执行"快速合并",只能试图把各自的修改合并起来,但这种合并就可能会有冲突。
冲突原因:master分支和dev分支各自都分别有新的提交,并且编辑了同一个文件。
此时提交后的 test01.py 文件内容如下:
上图说明:<<<<<<< HEAD 下面表示主分支做的修改,======= 表示分割线,>>>>>>> dev 上面表示dev分支做的修改。
三、分支合并冲突解决
- 对test01.py文件进行编辑,把<<<<<<< HEAD、=======、>>>>>>> dev去掉,并由自己选择需要保存的内容;
- 使用git add * 、git commit -m “冲突解决” 提交到版本库。