Skip to Content

歷史

「歷史」(⌘3)把提交列表、提交詳情與改寫操作放在同一列裏。選中一條提交,中間檢視器就顯示它的 diff。

圖譜與分頁

  • 列表按頁加載,滾動到底部繼續取,不會一次把整個倉庫讀進內存;
  • 每條提交左側有輕量分叉圖,能看出合併與分支走向;
  • 默認只看當前分支,可以切到全部分支視圖;
  • 合併提交帶合併標記,多父提交在詳情裏分別列出。

篩選與搜索

搜索框支持這些寫法:

輸入作用
普通文本匹配提交標題與正文
author:名字按作者過濾
content:文本在提交內容中搜索
分支名只看某個分支的歷史

還可以按日期範圍過濾,以及切換是否忽略空白差異。

提交詳情

選中提交後可以:

  • 查看完整 diff,支持與變更頁相同的佈局與查找;
  • 預覽、保存單個文件在該提交中的版本,或把它恢復到工作區;
  • 複製提交鏈接、完整提交信息或 format-patch;
  • 查看包含該提交的分支;
  • 選中兩條提交進行比較;
  • 把提交區間導出為 ZIP 歸檔或補丁;
  • 從該提交創建分支、創建 worktree,或檢出為游離 HEAD。

Blame

在文件或提交詳情裏打開 blame:

  • 可以在任意提交上查看 blame,而不只是 HEAD;
  • 可忽略空白改動;
  • 可指定“忽略格式化提交”,讓大範圍重排不污染歸屬;
  • 每行顯示提交、作者與時間,點擊跳到對應提交。

引用日誌與重置

「引用日誌」列出 HEAD 的 reflog 記錄,可按 selector、SHA 或説明過濾。

  • 軟重置(git reset --soft):只移動 HEAD,索引與工作區保持不變;
  • 混合重置與硬重置在確認後執行;硬重置會先把髒工作區寫成恢復快照。

reflog 不是未提交內容的備份。要找回被丟棄的工作區改動,用恢復中心。

改寫歷史

操作説明
交互式變基待辦列表可編輯:drop、squash、fixup、reword、edit,支持拖動排序
autosquash識別 fixup! / squash! 提交併自動排到目標之後
壓縮連續提交選中一段連續提交合併為一條
修改提交信息對任意提交 reword,內部通過臨時交互式變基完成
拆分 HEAD按片段選擇把當前提交拆成多條,並保留備份引用
揀選與還原多選提交批量 cherry-pick 或 revert;還原合併提交時選擇主線父提交
改寫對照記錄改寫前後的區間,用 range-diff 對比差異

所有改寫都會在操作前確認。改寫完成後,舊的提交仍然可以通過 reflog 找回。

簽名徽標

提交列表與詳情會顯示 GPG 或 SSH 簽名狀態:有效、無效或未簽名。標籤的簽名驗證在分支、標籤與遠端中説明。

分支審閲

選中一個基準分支,可以讓 ACP Agent 審閲 base...HEAD 之間的出站提交。發送前會列出範圍、提交數、文件統計與字節數,返回結果帶回執;範圍變化後回執會標為過期。這屬於 AI 功能,見 ACP Agent。

最後更新於