Claude Code 的 Checkpointing 功能让你可以随时将对话和代码回退到任意历史节点,或从某条消息创建分叉,是多轮迭代编码不可或缺的安全网。
什么是 Checkpointing
Checkpoint 是对话历史中的一个时间节点。每次 Claude Code 完成一轮工作后,当前的对话状态和代码修改都会被记录为一个隐式的检查点。
Checkpointing 解决的核心问题:
- 「Claude 改坏了,我想回到之前」——只需回退即可,无需手动
git reset - 「我想试试另一种方案」——从同一节点分叉,同时探索两条路径
- 「这一段对话太长了,影响后续质量」——摘要压缩特定范围的历史
/rewind 命令
/rewind 是访问 Checkpointing 功能的主命令(别名:/checkpoint):
/rewind
运行后,Claude Code 会打开一个交互式历史浏览器,显示当前对话中的所有轮次。使用方向键选择要回退到的节点,确认后执行。
也可以通过 Esc + Esc 快捷键快速触发(倒回或摘要)。
三种操作模式
1. 代码回退(Code Rewind)
将文件系统中的代码文件还原到所选时间点的状态,对话历史保持不变(或同步回退)。
适用场景:
- Claude 的修改引入了 Bug 或破坏了原有逻辑
- 想撤销多轮迭代后的所有代码改动
- 快速对比「修改前」和「修改后」
# 工作流示例
1. Claude 重构了你的认证模块(第 5 轮)
2. 你发现新代码有问题
3. /rewind → 选择第 3 轮节点 → 选择「代码 + 对话全部回退」
4. 回到第 3 轮的状态,重新指导 Claude
2. 对话回退(Conversation Rewind)
将对话历史回退到所选节点,代码文件可选择是否同步还原。
适用场景:
- 对话方向跑偏,需要从某个节点重新引导
- 想重新提问/换一种表达方式
- 保留代码改动,但重置对话上下文
3. 摘要(Summarize)
从选定的消息开始,将该消息之后的对话历史压缩摘要,释放 Context 空间:
/rewind → 选择消息 → 选择「从此摘要」
适用场景:
- 长对话导致 Context 接近上限
- 保留关键进展,但不需要完整的中间步骤
- 为后续任务腾出 Context 空间
分叉工作流(Fork)
/fork [name] 命令从当前对话的当前节点创建一个分支:
/fork approach-a # 创建名为 approach-a 的分支,继续当前对话完整的分叉探索流程:
主会话(已完成需求分析,第 8 轮)
↓
/fork approach-a → 尝试方案 A(重写为函数式风格)
↓
/rewind → 回到第 8 轮
↓
/fork approach-b → 尝试方案 B(面向对象重构)
↓
对比两个分支的结果,选择最优方案
↓
/resume approach-a # 恢复到最优分支继续工作
分叉的工作流让你可以在同一个起点探索多种实现方案,而不会污染主对话历史。
与 Git 的配合
Checkpointing 与 Git 互补而不替代:
| 能力 | Checkpointing | Git |
|---|---|---|
| 粒度 | 每轮对话 | 每次 commit |
| 包含对话历史 | ✅ | ❌ |
| 适合实验探索 | ✅(轻量级) | ✅(worktree) |
| 团队协作 | ❌ | ✅ |
| 持久化 | 会话内 | 永久 |
最佳实践:在关键里程碑(功能完成、测试通过)时同时执行 git commit,日常探索使用 /rewind 和 /fork。
键盘快捷键
| 操作 | 快捷键 |
|---|---|
| 触发回退/摘要 | Esc + Esc |
| 交互式历史浏览 | /rewind 后使用方向键 |
| 创建分叉 | /fork [name] |
| 恢复分叉 | /resume [session-id 或 name] |
常见问题
Q:回退后代码文件会变化吗? A:取决于你选择的回退模式。「代码 + 对话」模式会同步还原文件;「仅对话」模式不修改文件。
Q:Checkpoint 存在哪里?
A:存储在 Claude Code 的会话状态中(~/.claude/sessions/),不影响 Git 工作区。
Q:/rewind 和 /fork 有什么区别?
A:/rewind 是在同一会话内回退到过去节点;/fork 是从当前节点创建一个新的独立会话分支,原会话继续存在。
Q:摘要会丢失信息吗?
A:摘要保留关键决策和上下文,丢弃中间的冗余步骤。如果需要完整历史,建议先导出(/export)再摘要。
原文:Checkpointing - Claude Code Docs | 来源:Anthropic 官方文档