Git使用系列07-->分支合并时的冲突解决

前言

        再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
        要开始学习,就要趁早行动啦~

一、分支合并冲突的场景

  • 该篇博客是 https://www.cnblogs.com/dream66/p/12792950.html 的后续,有需要的读者可以看前一篇
  • 当分支切换到dev分支,修改一个文件并提交,然后切换到master分支,再对同一个文件进行修改并提交,此时合并时会产生冲突

二、分支合并冲突现象实例

为了方便读者理解,新建立一个仓库,然后按如下操作:

  1. 手动新增一个 test01.py 文件,内容为print('test01')
  2. 使用 git add * 、git commit -m “第一次提交” 进行提交
  3. 使用命令 git checkout -b dev 创建并切换到分支dev
  4. 对 test01.py 文件进行修改,添加一行内容为print('dev')并提交到版本库
  5. 使用命令 git checkout master
  6. 对 test01.py 文件进行修改,添加一行内容为print('master')并提交到版本库
  7. 使用git merge dev,把dev分支合并到master主干分支上


如上图所示,上面操作git无法执行"快速合并",只能试图把各自的修改合并起来,但这种合并就可能会有冲突。
冲突原因:master分支和dev分支各自都分别有新的提交,并且编辑了同一个文件。
此时提交后的 test01.py 文件内容如下:

上图说明:<<<<<<< HEAD 下面表示主分支做的修改,======= 表示分割线,>>>>>>> dev 上面表示dev分支做的修改。

三、分支合并冲突解决

  1. 对test01.py文件进行编辑,把<<<<<<< HEAD、=======、>>>>>>> dev去掉,并由自己选择需要保存的内容;
  2. 使用git add * 、git commit -m “冲突解决” 提交到版本库。

猜你喜欢

转载自www.cnblogs.com/dream66/p/12940846.html