1. 为什么需要 /rewind?
Claude Code 的 /rewind(回溯 / Checkpointing)功能是专门用来「快速撤销 Claude 改错代码或走偏对话」的工具。它基于自动检查点(Checkpoint)机制,能让你把代码状态 + 对话历史一起或分开回滚到任意之前的时刻,还能一键总结压缩上下文。
简单说:Claude 每次要改文件前都会自动拍快照,你随时可以「时光倒流」,不用担心改崩了无法恢复。
2. 如何激活 /rewind(两种方式)
| 方式 | 操作 | 推荐场景 |
|---|---|---|
| 快捷键 | 按两次 Esc(Esc + Esc) | 最快,随时可用 |
| 命令 | 在输入框输入 /rewind 或别名 /checkpoint | 明确意图 |
激活后会弹出回溯菜单:一个可滚动的列表,显示本次会话里每一个用户提示(Prompt)对应的检查点(带时间和简短描述)。
3. 回溯菜单里可以做的 5 件事
选择一个检查点后,Claude 会给你以下选项:
3.1 恢复代码和对话
把代码文件和对话历史全部回滚到该点(最常用)。
3.2 恢复对话
只回滚对话历史,代码文件保持当前状态。 用途:想保留最新代码但重来对话时。
3.3 恢复代码
只恢复文件内容到该点,对话历史不变。 用途:代码改崩了但想保留聊天记录时。
3.4 从此处总结
把该点之后的所有对话压缩成一段 AI 生成的摘要(释放上下文 token)。
- 磁盘上的文件不会改变
- 你可以额外输入指令指导总结重点(如「Focus on the API changes」)
- 原始完整消息仍保留在会话记录里
- 类似
/compact但更精准(只压缩后面部分)
3.5 算了
取消,什么都不做。
操作完后:所选提示的原始文字会自动填入输入框,你可以直接按回车重新发送,或修改后再发。
4. 检查点(Checkpoint)是怎么创建的?
全自动创建
- 每次你发送一个新 Prompt → 自动创建一个检查点
- Claude 每次要编辑文件前 → 自动快照当前文件内容
持久保存
检查点即使你关闭 Claude Code,下次用 claude --resume 恢复会话时依然能回溯。
自动清理
30 天后自动清理(可在设置里修改)。
重要限制
- 只跟踪 Claude 通过文件编辑工具做的修改
- Bash 命令(如
rm、mv、cp)导致的文件变化无法回溯 - 外部手动改的文件或其它会话的改动也不在检查点里
5. 最佳实践 & 什么时候用 /rewind
大重构前
先让 Claude 改,改崩了就 Esc+Esc 直接回滚。
尝试多种方案
改完一种方案觉得不行 → 回滚到起点再试另一种。
上下文太长
用「从此处总结」把后面冗长的调试记录压成一段话,省 token。
和 /fork 配合
想同时保留「旧路线」和「新尝试」时,用 /rewind 回滚后再 claude --continue --fork-session 分叉新会话。
和 Git 配合
/rewind 是「本地临时撤销」,Git 才是「永久历史」。大改动后记得 git commit。
6. 快捷键 & 相关命令一览
| 命令 / 快捷键 | 作用 |
|---|---|
| Esc + Esc | 打开回溯菜单 |
/rewind | 同上(别名 /checkpoint) |
/compact | 压缩整个对话(非针对性) |
claude --resume | 恢复旧会话(检查点依然可用) |