Skip to Content

衝突

衝突文件出現在「變更」的衝突分組裏,選中它,檢視器進入衝突視圖。

操作橫幅

合併、變基、揀選、還原、應用郵箱補丁、bisect 進行中時,頂部橫幅顯示當前操作,並給出可用動作:

  • 繼續 — 當前步驟沒有未解決的衝突時可用;
  • 跳過 — 跳過當前提交或補丁;
  • 中止 — 中止整個操作,中止前會先把工作區寫成恢復快照。

逐塊解決

衝突視圖把文件切成衝突塊,每塊提供四個來源:

選項含義
當前本分支(ours)的內容
對方傳入分支(theirs)的內容
兩者兩邊都保留,按順序拼接
基線共同祖先(base)的內容

每次選擇立即寫入文件。所有塊都處理完、文件裏不再有衝突標記後,文件才會被暫存——應用不會把仍帶標記的文件加進索引。

整文件選擇

不想逐塊點時,可以對該文件一次性選擇「全部使用我方」「全部使用對方」或「全部保留雙方」。

修改 / 刪除類衝突會單獨提示:

  • 我方刪除、對方修改;
  • 我方修改、對方刪除;
  • 雙方都刪除。

這類情況需要明確選擇保留哪個結果,或接受刪除。

編輯整個文件

需要手寫結果時,打開整文件編輯器,刪掉所有衝突標記後保存。編輯器會實時告訴你還剩幾塊未解決;仍有標記時不會暫存。

二進制文件無法顯示文本衝突塊,只能通過整文件方式決定保留哪一側。

三方並排

三方視圖把當前、對方與基線並排顯示,右側是結果欄:可以從任意一側追加行,也可以直接編輯結果。每側預覽上限 256 KB,超出部分不顯示,但文件本身仍可完整編輯。

rerere

開啓 rerere 後,Git 會記住你解決過的衝突:再次遇到同樣的衝突時可以直接複用記錄的結果。

  • 可對單個路徑「忘記」已記錄的結果,文件內容保持不變;
  • rerere 只在合併、變基、揀選等操作進行期間對沖突路徑生效。

AI 建議

衝突視圖可以讓 ACP Agent 逐塊生成建議:

  • 發送範圍只有當前文件的衝突塊,不包含其他文件、完整 diff 或倉庫路徑;
  • 建議以流式返回,按塊給出;
  • 應用前可以修改替換內容,也可以逐塊應用或整塊忽略;
  • 文件在建議生成後發生變化時,建議會標記為過期,需要重新生成。

解析不了的回覆不會被應用。Agent 是獨立進程,信任邊界見 ACP Agent。

最後更新於