{/* TRANSLATED — 已翻译为中文 */}

> ## 文档索引
> 获取完整文档索引：https://code.claude.com/docs/llms.txt
> 使用此文件发现所有可用页面，然后再进一步探索。

# 检查点

> 跟踪、回退和总结 Claude 的编辑和对话，以管理会话状态。

Claude Code 会在您工作时自动跟踪 Claude 的文件编辑，让您能够快速撤消更改并在出现问题时回退到之前的状态。

## 检查点的工作原理

当您与 Claude 一起工作时，检查点会在每次编辑前自动捕获代码状态。这个安全网让您可以放心地执行雄心勃勃的大规模任务，因为您始终可以返回到之前的代码状态。

### 自动跟踪

Claude Code 跟踪其文件编辑工具所做的所有更改：

* 每个用户提示都会创建一个新的检查点
* 检查点在会话之间持续存在，因此您可以在恢复的对话中访问它们
* 30 天后与会话一起自动清理（可配置）

### 回退和总结

运行 `/rewind`，或在提示输入为空时按两次 `Esc`，打开回退菜单。

<Note>
  如果提示输入包含文本，双击 `Esc` 会清除文本而不是打开菜单。清除的文本会保存到输入历史中，因此在回退菜单中完成操作后按 `Up` 可以召回它。
</Note>

回退菜单列出您在会话期间发送的每个提示。选择您要操作的点，然后选择一个操作：

* **恢复代码和对话**：将代码和对话都恢复到该点
* **恢复对话**：回退到该消息，同时保留当前代码
* **恢复代码**：撤消文件更改，同时保留对话
* **从此处总结**：将从此点开始的对话压缩为摘要，释放上下文窗口空间
* **总结至此**：将此点之前的对话压缩为摘要，保留之后的消息不变
* **取消**：返回消息列表，不做任何更改

恢复对话或选择"从此处总结"后，所选消息的原始提示会恢复到输入字段中，以便您可以重新发送或编辑它。

选择"总结至此"会让您停留在对话末尾，输入为空。

#### 恢复与总结

恢复选项会还原状态：它们撤消代码更改、对话历史记录或两者。总结选项将对话的某部分压缩为 AI 生成的摘要，而不更改磁盘上的文件：

* **从此处总结**：所选消息之前的消息保持不变。所选消息及其后的所有内容被替换为摘要。用于丢弃侧边讨论，同时保留早期上下文的完整细节。
* **总结至此**：所选消息之前的消息被替换为摘要。所选消息及其后的所有内容保持不变，您停留在对话末尾。用于压缩早期设置讨论，同时保留最近工作的完整细节。

在两种情况下，原始消息都保存在会话记录中，因此 Claude 可以在需要时引用详细信息。您可以输入可选指令来指导摘要的重点。这类似于 `/compact`，但更有针对性：不是总结整个对话，而是选择压缩所选消息的哪一侧。

<Note>
  总结让您保持在同一会话中并压缩上下文。如果您想分叉并尝试不同的方法，同时保留原始会话不变，请改用[分叉](/en/sessions#branch-a-session)（`claude --continue --fork-session`）。
</Note>

## 常见用例

检查点在以下情况下特别有用：

* **探索替代方案**：尝试不同的实现方法，而不丢失起点
* **从错误中恢复**：快速撤消引入 bug 或破坏功能的更改
* **迭代功能**：知道可以恢复到工作状态后，尝试各种变体
* **释放上下文空间**：从中间点开始总结冗长的调试会话，保留初始指令不变

## 限制

### 不跟踪 Bash 命令更改

检查点不跟踪由 bash 命令修改的文件。例如，如果 Claude Code 运行：

```bash theme={null}
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt
```

这些文件修改无法通过回退撤消。只有通过 Claude 的文件编辑工具进行的直接文件编辑才会被跟踪。

### 不跟踪外部更改

检查点仅跟踪当前会话内编辑过的文件。您在 Claude Code 外部手动更改文件以及其他并发会话的编辑通常不会被捕获，除非它们恰好修改了与当前会话相同的文件。

### 不能替代版本控制

检查点专为快速的会话级恢复而设计。对于永久版本历史和协作：

* 继续使用版本控制（如 Git）进行提交、分支和长期历史
* 检查点补充但不替代适当的版本控制
* 将检查点视为"本地撤消"，将 Git 视为"永久历史"

## 另请参阅

* [交互模式](/en/interactive-mode) - 键盘快捷键和会话控制
* [命令](/en/commands) - 使用 `/rewind` 访问检查点
* [CLI 参考](/en/cli-reference) - 命令行选项
