Claude Code 會在您工作時自動追蹤 Claude 的檔案編輯,讓您能夠快速撤銷變更並回退到先前的狀態,如果有任何問題發生。

檢查點如何運作

當您與 Claude 一起工作時,檢查點功能會在每次編輯前自動捕獲您程式碼的狀態。這個安全網讓您能夠執行雄心勃勃的大規模任務,知道您總是可以回到先前的程式碼狀態。

自動追蹤

Claude Code 追蹤其檔案編輯工具所做的所有變更:
  • 每個使用者提示都會建立一個新的檢查點
  • 檢查點會在會話間持續存在,因此您可以在恢復的對話中存取它們
  • 在 30 天後會與會話一起自動清理(可設定)

回退變更

按兩次 EscEsc + Esc)或使用 /rewind 指令來開啟回退選單。您可以選擇恢復:
  • 僅對話:回退到使用者訊息,同時保留程式碼變更
  • 僅程式碼:還原檔案變更,同時保留對話
  • 程式碼和對話:將兩者都恢復到會話中的先前時間點

常見使用案例

檢查點在以下情況特別有用:
  • 探索替代方案:嘗試不同的實作方法,而不會失去您的起始點
  • 從錯誤中恢復:快速撤銷引入錯誤或破壞功能的變更
  • 功能迭代:實驗變化,知道您可以回退到工作狀態

限制

不追蹤 Bash 指令變更

檢查點不會追蹤由 bash 指令修改的檔案。例如,如果 Claude Code 執行:
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt
這些檔案修改無法透過回退來撤銷。只有透過 Claude 的檔案編輯工具進行的直接檔案編輯才會被追蹤。

不追蹤外部變更

檢查點只追蹤在目前會話中已編輯的檔案。您在 Claude Code 外部對檔案進行的手動變更以及來自其他並行會話的編輯通常不會被捕獲,除非它們恰好修改了與目前會話相同的檔案。

不是版本控制的替代品

檢查點是為快速的會話級恢復而設計的。對於永久版本歷史和協作:
  • 繼續使用版本控制(例如 Git)進行提交、分支和長期歷史
  • 檢查點補充但不取代適當的版本控制
  • 將檢查點視為「本地撤銷」,將 Git 視為「永久歷史」

另請參閱