1、git沖突的場景
實際上,push操作即是將本地代碼merge到遠端庫分支上。
關于push和pull其實就分別是用本地分支合并到遠程分支 和 將遠程分支合并到本地分支
所以這兩個過程中也可能存在沖突。git的合并中產生沖突的具體情況:
<1>兩個分支中修改了同一個文件(不管什么地方)
<2>兩個分支中修改了同一個文件的名稱
兩個分支中分別修改了不同文件中的部分,不會產生沖突,可以直接將兩部分合并。
2、沖突解決方法
注:借用vim或者IDE或者直接找到沖突文件,修改。
3、實戰演示
(1)情景
本地庫中兩個不同分支,修改同一個文件同一代碼塊,兩分支先后將修改合并到master分支上,master在合并第二個分支代碼時,報錯:合并沖突。
(2)本地庫
<1>master分支
<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節點。每個節點對應一個代碼版本。
到此這篇關于git在idea中的沖突解決方法(非常重要)的文章就介紹到這了,更多相關idea git沖突內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!
新聞熱點
疑難解答