定位和解決git am衝突的方法

2021-07-28 10:47:21 字數 830 閱讀 4012

【正文】

在踩過幾次坑之後,大多數工程師都會學會使用patch的形式來儲存各個模組/功能的**改動,這樣可以很方便地為相應模組新增或者去除相關功能的**。但是伴隨著主線**的不斷更新,我們在早期儲存出來的patch中有部分內容可能已經不能再直接打入現在的**裡了。這種情況下可以使用下面的方法解決衝突:

1、執行命令git  am ***x.patch嘗試直接打入補丁。因為我們使用的 patch 已經過時了,所以這一步肯定會報錯並中斷(注意,雖然命令停止執行了,但我們依然處於git am命令的執行環境中,可以通過git status命令檢視到當前的狀態)。

3、依據 步驟2 中生成的 *.rej 檔案內容逐個手動解決衝突,然後刪除這些 *.rej 檔案。完成這一步驟的操作後,我們就可以繼續執行 git am 的過程了。

4、執行命令git  status檢視當前改動過的以及新增的檔案,確保沒有多新增或少新增檔案。

5、執行命令git  add .將所有改動都新增到暫存區(注意,關鍵字add後有乙個小數點 . 作為引數,表示當前路徑)。

6、執行命令git  am  --resolved繼續 步驟1 中被中斷的 patch 合入操作。合入完成後,會有提示資訊輸出。

7、執行命令git  log確認合入狀態。

至此,帶有衝突**的 patch 合入就操作完成了。如果要修改 commit 資訊,執行 git  commit  --amend 命令即可。

【參考資料】

[1] 《git am 合併 patch 時的衝突處理》

git am 衝突解決技巧

v0.1 2018.3.21 sherlock init i westford 使用git am合patch的時候可能有衝突出現,這個時候,手動解決的辦法是看看衝突在 然後手動的把那個patch和入。手動合入需要的時間太長.所以,一般git am合patch的步驟可以是這樣的 git am patc...

git am 衝突解決技巧

使用git am合patch的時候可能有衝突出現,這個時候,手動解決的辦法是看看衝突在 然後手動的把那個patch和入。手動合入需要的時間太長.所以,一般git am合patch的步驟可以是這樣的 git am patch 沒有conflict,over!在.rej檔案裡找見衝突的diff段,手動修...

git衝突和解決方法

git衝突的場景 實際上,push操作即是將本地 merge到遠端庫分支上。關於push和pull其實就分別是用本地分支合併到遠端分支 和 將遠端分支合併到本地分支 所以這兩個過程中也可能存在衝突。git的合併中產生衝突的具體情況 1 兩個分支中修改了同乙個檔案 不管什麼地方 2 兩個分支中修改了同...