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