Gemini CLI 使用手冊
首頁
命令列介面
核心概念
工具調用
開源貢獻
首頁
命令列介面
核心概念
工具調用
開源貢獻
  • 歡迎使用 Gemini CLI 文件
  • Gemini CLI 執行與部署
  • 架構概覽
  • 檢查點 (Checkpointing)
  • 擴充功能
  • 可觀測性指南
  • 疑難排解指南
  • 服務條款與隱私權聲明

檢查點 (Checkpointing)

Gemini CLI 包含一項「檢查點」(Checkpointing)功能,會在 AI 工具對檔案進行任何修改前,自動儲存您專案狀態的快照。這讓您可以安全地實驗並套用程式碼變更,並清楚知道您可以立即還原到工具執行前的狀態。

運作方式

當您批准一個會修改檔案系統的工具(例如 write_file 或 replace)時,CLI 會自動建立一個「檢查點」。此檢查點包含:

  1. Git 快照: 系統會在位於您家目錄(~/.gemini/history/<project_hash>)的一個特殊、隱藏的 Git 儲存庫中進行一次提交。此快照會擷取您專案檔案在該時間點的完整狀態。它不會干擾您專案本身的 Git 儲存庫。
  2. 對話歷史: 您與代理程式到目前為止的完整對話都會被儲存。
  3. 工具呼叫: 即將被執行的特定工具呼叫也會被儲存。

如果您想復原變更或只是回到上一步,您可以使用 /restore 指令。還原檢查點將會:

  • 將您專案中的所有檔案還原到快照中擷取的狀態。
  • 在 CLI 中還原對話歷史。
  • 重新提出原始的工具呼叫,讓您可以再次執行、修改或直接忽略它。 所有檢查點資料,包含 Git 快照和對話歷史,都儲存在您本機的電腦上。Git 快照儲存在隱藏的儲存庫中,而對話歷史和工具呼叫則儲存在您專案的暫存目錄中的一個 JSON 檔案裡,通常位於 ~/.gemini/tmp/<project_hash>/checkpoints。

啟用此功能

檢查點功能預設為停用。若要啟用它,您可以使用命令列旗標或編輯您的 settings.json 檔案。

使用命令列旗標

您可以透過在啟動 Gemini CLI 時使用 --checkpointing 旗標,為目前的 session 啟用檢查點功能:

gemini --checkpointing

使用 settings.json 檔案

若要為所有 session 預設啟用檢查點功能,您需要編輯您的 settings.json 檔案。

將以下鍵值新增到您的 settings.json 中:

{
  "checkpointing": {
    "enabled": true
  }
}

使用 /restore 指令

一旦啟用,檢查點便會自動建立。若要管理它們,請使用 /restore 指令。

列出可用的檢查點

若要查看目前專案所有已儲存的檢查點列表,只需執行:

/restore

CLI 將會顯示可用檢查點檔案的列表。這些檔名通常由時間戳記、被修改的檔案名稱,以及即將執行的工具名稱所組成(例如:2025-06-22T10-00-00_000Z-my-file.txt-write_file)。

還原特定檢查點

若要將您的專案還原至特定檢查點,請使用列表中的檢查點檔案:

/restore <checkpoint_file>

例如:

/restore 2025-06-22T10-00-00_000Z-my-file.txt-write_file

執行此指令後,您的檔案和對話將立即還原到建立檢查點時的狀態,而原始的工具提示也會再次出現。

Last Updated: 6/29/25, 7:03 PM
Contributors: Will
Prev
架構概覽
Next
擴充功能