一、git衝突的場景git
實際上,push操做便是將本地代碼merge到遠端庫分支上。vim
關於push和pull其實就分別是用本地分支合併到遠程分支 和 將遠程分支合併到本地分支spa
二、衝突解決方法3d
注:借用vim或者IDE或者直接找到衝突文件,修改。blog
三、實戰演示it
(1)情景ast
本地庫中兩個不一樣分支,修改同一個文件同一代碼塊,兩分支前後將修改合併到master分支上,master在合併第二個分支代碼時,報錯:合併衝突。方法
(2)本地庫im
<1>master分支d3
<2>創建兩個分支
<3>兩分支修改提交
aBranch分支:
bBranch分支:
(3)合併分支產生衝突
合併aBranch分支(將aBranch分支合併到當前master分支上):
注:
git merge:默認狀況下,Git執行"快進式合併"(fast-farward merge),會直接將Master分支指向Develop分支。
使用--no-ff參數後,會執行正常合併,在Master分支上生成一個新節點。爲了保證版本演進的清晰,建議採用這種方法。
再合併bBranch分支,產生衝突:
mergeTest.txt 文件內容:
(4)解決衝突
--->在當前分支上(master),找到衝突文件,直接修改衝突代碼,add,commit。
注:簡單方法,使用vim修改,cat查看衝突文件。(注意要刪除git自動生成的衝突代碼分隔符)
(5)完成衝突解決
注:提交或者合併都會生成git節點。每一個節點對應一個代碼版本。