前言
再長的路,一步步也能走完,再短的路,不邁開雙腳也無法到達。
要開始學習,就要趁早行動啦~
一、分支合並沖突的場景
- 該篇博客是 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 “沖突解決” 提交到版本庫。

