
Checkpointing 是 Claude Code 的 session 级本地撤销机制。本篇拆解 /rewind、三种 Restore、两种 Summarize、branch 与 Git 的边界,并给出一套长任务中可直接照做的回滚顺序。
/rewind,什么时候该用 branch,什么时候必须回到 Git。| 你要解决的问题 | 优先用什么 | 原因 |
|---|---|---|
| Claude 刚改坏了几个文件 | /rewind 的 Restore code | 回到某个 prompt 前后的代码状态 |
| 对话上下文被带偏了 | Restore conversation 或 Summarize | 不一定要碰磁盘文件 |
| 想试另一条实现路线 | /branch 或 --fork-session | 保留原路线,另开一条会话分支 |
| 要长期保存可协作历史 | Git commit / branch | checkpoint 只适合本地、session 级恢复 |
/rewind 打开的不是一个按钮,而是一组动作/rewind,或者在输入框为空时按两次 Esc。如果输入框里已经有文字,双击 Esc 会先清空输入框,而不是打开菜单;被清掉的文本会进入输入历史,之后可以按 Up 找回。1| 动作 | 会改代码吗 | 会改对话吗 | 适合场景 |
|---|---|---|---|
| Restore code and conversation | 会 | 会 | 方向彻底错了,代码和上下文一起退回 |
| Restore conversation | 不会 | 会 | 文件当前还行,但对话被错误假设污染了 |
| Restore code | 会 | 不会 | 想撤销文件改动,但保留后面讨论出来的判断 |
| Summarize from here | 不会 | 压缩选中点之后 | 后半段调试太啰嗦,想释放上下文 |
| Summarize up to here | 不会 | 压缩选中点之前 | 前期铺垫太长,只保留近期细节 |
| Never mind | 不会 | 不会 | 返回列表,不做任何变化 |


/compact/compact [instructions]。Sessions 文档把 /compact [instructions] 描述为用摘要替换历史,并且可以按你的指令聚焦。2claude --continue --fork-session。1/branch,也可以在命令行把 --continue 或 --resume 与 --fork-session 组合使用。2| 情况 | 用 rewind | 用 branch |
|---|---|---|
| 已经知道当前路线错了 | 是 | 不一定 |
| 想保留当前路线,同时试另一版 | 不建议 | 是 |
| 只是想释放上下文 | 用 Summarize | 不需要 |
| 要把实验路线长期保留 | 先 branch,再配合 Git | 是 |

rm file.txt、mv old.txt new.txt、cp source.txt dest.txt 这类例子,并说明这些文件修改不能通过 rewind 撤销;只有 Claude 文件编辑工具直接做的编辑会被跟踪。1/rewind 当保险箱。它更像座位旁边的撤销键,方便你在一次 Claude Code 工作流里快速掉头;真正要留档、协作、上线前审计,还是回到 Git。/branch 和 --fork-session 更适合平行实验,而不是把原路线压成摘要。2docs.anthropic.com
docs.anthropic.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.