# Checkpoints

检查点会在任务的每个步骤后自动保存你的工作区快照。此功能让你跟踪更改、在需要时回滚，并自信地实验你的代码。

### 检查点如何工作

Cline 在每次工具使用后（文件编辑、命令等）创建一个检查点。这些检查点：

* 与你的 Git 工作流协同工作而无干扰
* 在恢复之间维持上下文
* 使用影子 Git 仓库来跟踪更改

例如，如果你正在开发一个功能，Cline 进行了多个文件更改，每个更改都会创建一个检查点。这意味着你可以审查每个修改，如果需要，回滚到任何点而不影响你的主 Git 仓库。

### 启用或禁用检查点

检查点在 Cline 中默认启用。要切换此功能：

1. 点击 Cline 面板中的齿轮图标打开 Cline 设置
2. 转到"功能设置"
3. 切换\*\*"启用检查点"\*\*复选框开或关

![Checkpoints toggle in settings](https://storage.googleapis.com/cline_public_images/checkpoints.gif)

#### 何时禁用检查点

虽然检查点提供有价值的安全网，但在某些情况下你可能想要禁用它们：

* **大型仓库**：如果你正在处理非常大的代码库，检查点可能会使用额外的存储空间
* **性能问题**：在资源有限的系统上，禁用检查点可以略微提高性能
* **简单任务**：对于快速、低风险操作，不需要回滚

### 查看更改和恢复

每次工具使用后，你可以：

1. 点击\*\*"比较"\*\*按钮查看修改的文件
2. 点击\*\*"恢复"\*\*按钮打开恢复选项

![Checkpoint comparison and restore options](https://storage.googleapis.com/cline_public_images/docs/assets/image%20\(13\).png)

### 恢复选项

要恢复到先前的点：

1. 点击任何步骤旁边的\*\*"恢复"\*\*按钮
2. 从三个选项中选择：
   * **恢复任务和工作区**：将代码库和任务都重置到该点
   * **仅恢复任务**：保持代码库更改但还原任务上下文
   * **仅恢复工作区**：重置代码库同时保留任务上下文

示例：如果 Cline 在样式化组件时进行了你不喜欢更改，你可以使用"仅恢复工作区"来回滚代码更改，同时保持对话上下文，允许你尝试不同的方法。

![Checkpoint restore demo](https://storage.googleapis.com/cline_public_images/docs/assets/checkpointsDemo.gif)

### 用例

检查点让你更自信地与 Cline 一起实验。虽然人类编码通常是方法性和迭代的，但 AI 可以快速进行大量更改。检查点帮助你跟踪这些更改并在需要时还原。

#### 使用自动批准模式

* 为快速迭代提供安全网
* 使撤销意外结果变得容易

#### 测试不同方法

* 自信地尝试多个解决方案
* 比较不同的实现
* 快速还原到工作状态
* 非常适合探索不同的设计模式或架构方法

### 最佳实践

1. 在实验时将检查点用作安全网
2. 更自信地利用自动批准模式，知道你总是可以回滚
3. 根据需要选择性恢复：
   * 使用"恢复任务和工作区"进行全新开始
   * 使用"仅恢复任务"尝试不同的提示，但保持文件更改
   * 使用"仅恢复工作区"尝试不同的实现，同时保留对话上下文

### 与消息编辑的关系

[消息编辑功能](https://github.com/HybridTalentComputing/cline-chinese/blob/main/features/editing-messages/README.md) 在你选择"恢复全部"选项时在底层使用检查点。这不仅允许你编辑和重新提交你的消息，还将你的工作区恢复到对话中该点时的状态。

### 删除检查点

你可以通过使用任务历史菜单中的\*\*"删除所有历史"\*\*按钮来删除所有检查点。请注意，这也将删除所有任务。检查点存储在 VS Code 的 globalStorage 中。
