衝突
衝突檔案出現在「變更」的衝突分組裡,選中它,檢視器進入衝突檢視。
操作橫幅
合併、變基、揀選、還原、應用郵箱補丁、bisect 進行中時,頂部橫幅顯示當前操作,並給出可用動作:
- 繼續 — 當前步驟沒有未解決的衝突時可用;
- 跳過 — 跳過當前提交或補丁;
- 中止 — 中止整個操作,中止前會先把工作區寫成恢復快照。
逐塊解決
衝突檢視把檔案切成衝突塊,每塊提供四個來源:
| 選項 | 含義 |
|---|---|
| 當前 | 本分支(ours)的內容 |
| 對方 | 傳入分支(theirs)的內容 |
| 兩者 | 兩邊都保留,按順序拼接 |
| 基線 | 共同祖先(base)的內容 |
每次選擇立即寫入檔案。所有塊都處理完、檔案裡不再有衝突標記後,檔案才會被暫存——應用不會把仍帶標記的檔案加進索引。
整檔案選擇
不想逐塊點時,可以對該檔案一次性選擇「全部使用我方」「全部使用對方」或「全部保留雙方」。
修改 / 刪除類衝突會單獨提示:
- 我方刪除、對方修改;
- 我方修改、對方刪除;
- 雙方都刪除。
這類情況需要明確選擇保留哪個結果,或接受刪除。
編輯整個檔案
需要手寫結果時,開啟整檔案編輯器,刪掉所有衝突標記後儲存。編輯器會即時告訴你還剩幾塊未解決;仍有標記時不會暫存。
二進位制檔案無法顯示文本衝突塊,只能通過整檔案方式決定保留哪一側。
三方並排
三方檢視把當前、對方與基線並排顯示,右側是結果欄:可以從任意一側追加行,也可以直接編輯結果。每側預覽上限 256 KB,超出部分不顯示,但檔案本身仍可完整編輯。
rerere
開啟 rerere 後,Git 會記住你解決過的衝突:再次遇到同樣的衝突時可以直接複用記錄的結果。
- 可對單個路徑「忘記」已記錄的結果,檔案內容保持不變;
- rerere 只在合併、變基、揀選等操作進行期間對沖突路徑生效。
AI 建議
衝突檢視可以讓 ACP Agent 逐塊生成建議:
- 傳送範圍只有當前檔案的衝突塊,不包含其他檔案、完整 diff 或倉庫路徑;
- 建議以流式返回,按塊給出;
- 應用前可以修改替換內容,也可以逐塊應用或整塊忽略;
- 檔案在建議生成後發生變化時,建議會標記為過期,需要重新生成。
解析不了的回覆不會被應用。Agent 是獨立程序,信任邊界見 ACP Agent。
最後更新於