Gemini CLI 官方二维码

检查点

Gemini CLI 包含一个检查点功能,可在 AI 工具对文件进行任何修改之前自动保存项目状态的快照。这使您可以安全地试验和应用代码更改,因为您知道可以立即恢复到运行该工具之前的状态。

工作原理

当您批准修改文件系统(如 write_filereplace)的工具时,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 标志来为当前会话启用检查点:

gemini --checkpointing

使用 settings.json 文件

要为所有会话默认启用检查点,您需要编辑您的 settings.json 文件。

将以下键添加到您的 settings.json 中:

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

使用 /restore 命令

一旦启用,检查点就会自动创建。要管理它们,您可以使用 /restore 命令。

列出可用的检查点

要查看当前项目所有已保存检查点的列表,只需运行:

/restore

The 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

运行该命令后,您的文件和对话将立即恢复到创建检查点时的状态,并且原始工具提示将重新出现。