如果自己創建的新分支和master分支都提交了相同文件(內容並不完全相同),怎麼合併該文件內容並解決衝突呢?
下面舉一個例子來說明如何合併分支
1.創建新分支dev並切換到該分支
$ git checkout -b dev
Switched to a new branch 'dev'
2.在dev分支上創建test.txt文件並編輯其內容
aaa bbb ccc create new branch dev
3.添加文件到暫存區並提交文件
$ git add test.txt $ git commit -m "create new branch dev"
4.切換到master分支
$ git checkout master
在master分支上創建test.txt文件並編輯其內容
aaa bbb ccc go back master
5.添加文件到暫存區並提交文件
$ git add test.txt $ git commit -m "go back master"
6.分支合併
如果直接合並dev分支,那麼會出現衝突
$ git merge dev Auto-merging readme.txt CONFLICT (content): Merge conflict in test.txt Automatic merge failed; fix conflicts and then commit the result.
我們打開test.txt文件發現裏面的內容多了一些箭頭,git用<<<<<<<
,=======
,>>>>>>>
標記出不同分支的內容
aaa bbb ccc <<<<<<< HEAD go back master ======= create new branch dev >>>>>>> dev
那麼如何解決衝突呢?其實只需要把test.txt文件做如下修改即可
aaa bbb ccc go back master create new branch dev
再次合併即可成功
$ git merge dev