git解決合併衝突的方法:1、編輯有衝突的文件,並刪除文件中的特殊符號,根據需求修改程式碼;2、將指定文件新增至暫存區,並將指定的分支提交到主幹,執行提交即可,其中使用「git commit」指令時不能帶檔名, 加檔名會報錯。
本文操作環境:Windows10系統、Git2.30.0版、Dell G3電腦。
git衝突
多個分支程式碼合併到一個分支時,兩個分支中修改了同一個文件,不管是什麼地方修改,都會產生;
還有一種兩個分支中修改了同一個檔案的名稱時會產生。
原因
合併分支時,兩個分支在同一個檔案有兩套完全不同的修改。 Git 無法替
我們決定要使用哪一個。必須人為決定新程式碼內容。
解決方法
編輯有衝突的文件,刪除特殊符號,決定要使用的內容
加入到暫存區
執行提交(注意:此時使用git commit 指令時不能帶檔名, 加檔名會報錯,成功提交後,merging消失)
範例如下:
在主幹分支有兩個檔案
## 這時候tom和jack分別拉取了主幹分支的程式碼,並進行了修改。
1.2、tom修改程式碼提交合併
tom建立A分支並對檔案做了以下修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
README.md
1 |
|
提交程式碼並合併到主幹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1.3、jack修改程式碼提交合併
jack對程式碼做了以下修改
1 |
|
README.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
提交程式碼並合併至主幹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
push時產生衝突
1 |
|
2、解決衝突
接下來就是如何解決衝突
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
拉取失敗,可以看到提示訊息,告訴我們哪個檔案產生了衝突。
直接開啟main.cpp文件,可以看到有以下特殊字符,提示我們哪一行程式碼產生了衝突。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
直接在檔案中手動解決衝突。刪除檔案中的特殊字符,然後根據需求修改代碼。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
同理,對README.md,手動解決衝突。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
解決完衝突後提交到B分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
最後將B分支合併到主幹,就不會產生衝突了
1 |
|
至此,衝突成功解決
可以看下主幹分支的程式碼
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
README.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
OK
推薦學習:《
Git教程》
以上是git怎麼解決合併衝突的詳細內容。更多資訊請關注PHP中文網其他相關文章!