Git 學習筆記 - 12 - 解決分支衝突
Git 學習筆記 - 12 - 解決分支衝突
注:本文參照的是廖雪峰老師的Git教程
概述:
按上一節說的,在合併分支的時候,如果發現master不是之前的分支了,已經有內容提交過了,而且提交的內容還是和自己這個私有分支修改的部分有重合,則會發生衝突。此時合併會報錯,需要先解決這個衝突,去除報錯,然後在合併。
步驟:
-
新建一個分支,名為:feature1,並跳轉到這個分支上
git checkout -b featual
-
在feature1 分支上修改 readme.txt 的最後一行內容
Creating a new branch is quick AND simple.
-
然後在feature1分支上面提交,命令不在描述。
-
這時我們再切回master分支
git checkout master
-
然後我們將這個分支上的 readme.txt 檔案進行修改,而不是按照上節的同步分支。
將 readme.txt 最後一行修改為
Createing a new branch is quick & simple.
-
在master 分支上面將修改提交
-
提交完後我們再將修改後的feature1的分支內容合併到這個修改後的master分支上來,
這時因為兩個分支都有修改,所以無法執行快速合併,只能試圖把各自的修改合併起來,但這種合併就可能會有衝突,如果兩者都修改了同一個地方時,就會有衝突。
-
在執行合併後發現有衝突,此時 Git 會提示我們檔案存在衝突,必須手動解決衝突後再提交。
使用 git status 命令檢視當前的檔案狀態時,可以檢視到當前的衝突的檔案。
-
我們還可以進入有衝突的檔案內部檢視衝突
進入檔案內部,會檢視到檔案衝突的資訊在哪,然後將其修改至想要的內容,解決衝突部分
-
修改完成後,再次提交檔案
-
對於之前的提交,我們可以通過攜帶引數來檢視之前的 log 。
這個引數我還沒懂…
-
刪除之前建立的分支feature1
總結:
當Git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。
解決衝突就是把Git合併失敗的檔案手動編輯為我們希望的內容,再提交。
用git log --graph
命令可以看到分支合併圖。