教程

Claude Code Checkpointing 完全指南:5 种回退选项、「摘要」vs「恢复」与三大局限

Claude Code Checkpointing 完整指南:工作原理(每次用户提示自动保存/跨会话持久/30 天清理)、打开回退菜单(Esc×2 或 /rewind)、5 种操作(Restore code+conversation/仅 code/仅 conversation/Summarize from here/Never mind)、「恢复」vs「摘要」深度对比(摘要不修改文件/保留早期上下文/vs /compact 全局压缩/可选说明引导)、与 Fork(--fork-session)区别、5 大使用场景推荐对照表,以及三大局限性(Bash 命令不追踪/外部变更不追踪/不能替代 Git 对比表)。

2026/3/94分钟 阅读ClaudeEagle

Checkpointing 是 Claude Code 内置的会话安全网——在每次编辑前自动保存代码状态,让你随时回退到任意历史节点,无需依赖 Git。

工作原理

Claude Code 在每次用户提示词创建前自动生成 Checkpoint:

  • 覆盖范围:所有通过 Claude 文件编辑工具修改的文件
  • 跨会话持久:续接对话时仍可访问历史 Checkpoint
  • 自动清理:随会话在 30 天后清除(可在 settings.json 中通过 cleanupPeriodDays 配置)

Checkpointing 只追踪 Claude 的文件编辑工具的变更,不追踪 Bash 命令(rmmvcp 等)产生的文件变化。

打开回退菜单(2 种方式)

bash
# 方式一:快捷键
Esc + Esc     # 连按两次 Esc

# 方式二:命令
/rewind       # 别名:/checkpoint

5 种回退/操作选项

在回退菜单中,滚动列表显示本次会话的所有提示词,选择目标节点后,有 5 个操作:

选项效果
Restore code and conversation代码文件和对话历史回退到该节点
Restore conversation对话历史回退,代码保持当前状态
Restore code代码文件回退,对话历史保持当前状态
Summarize from here从该节点起压缩后续消息为摘要(不修改文件)
Never mind返回消息列表,不做任何操作

恢复对话或摘要操作后,所选消息的原始提示词自动填回输入框,可直接重发或修改后重发。

「恢复」vs「摘要」深度对比

三种恢复选项

回退状态:撤销已做的事情。

  • 代码回退:磁盘文件恢复到该时间点的状态
  • 对话回退:后续消息从历史记录中移除
  • 组合回退:同时撤销代码和对话

「Summarize from here」

压缩上下文,不回退

  • 选中节点之前的消息完整保留
  • 选中节点及之后的消息被 AI 生成的摘要替换
  • 磁盘文件不变
  • 原始消息保留在会话记录中,Claude 需要时可以引用细节

/compact(压缩整个对话)的区别:

  • Summarize from here:保留早期上下文完整细节,只压缩后期冗余内容
  • /compact:压缩整个对话历史

可以传入可选说明,引导摘要的关注重点:

# 在回退菜单输入框中输入 Summarize focusing on the architecture decisions

与 Fork 的区别

如果你想保留原始会话,同时在一个新分支尝试不同方案:

bash
claude --continue --fork-session

这会创建一个新 Session ID,不影响原始会话。而「Summarize from here」和「Restore」都在同一会话内操作,无法保留原始状态。

常用场景

场景推荐操作
Claude 修改了错误的文件Restore code — 撤销文件,保留对话继续沟通
整个方向跑偏了Restore code and conversation — 完全重来
调试对话太冗长,但代码是对的Summarize from here — 压缩对话,释放上下文空间
想试试不同实现,又不想丢掉当前版本Fork--fork-session)— 保留原版,新开分支
对话混乱,代码没问题Restore conversation — 只清理对话历史

三大局限性

1. Bash 命令变更不追踪

bash
# 这些操作无法通过 Checkpoint 撤销:
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt
npm install  # 修改 node_modules

只有 Claude 的文件编辑工具(Edit/Write)的变更才被追踪。通过 Bash 工具执行的文件操作不可撤销

2. 外部变更不追踪

  • 你在 Claude Code 外部手动修改的文件
  • 其他并发 Claude Code 会话的修改

除非这些外部变更恰好修改了当前会话也编辑过的同一文件。

3. 不能替代版本控制

Checkpointing 是「会话级本地撤销」,Git 是「永久历史」——两者互补,不能互相替代:

功能CheckpointGit
撤销粒度按提示词按 Commit
持久性30 天(可配置)永久
协作不支持支持
分支通过 Fork 间接实现原生支持

原文:Checkpointing - Claude Code Docs | 来源:Anthropic 官方文档

相关文章推荐

教程Claude Code Checkpointing 完全指南:会话回退、代码还原与 /rewind 分叉工作流Claude Code Checkpointing 完全指南:三种操作模式(代码回退/对话回退/摘要压缩)、/rewind 和 /fork 命令用法、分叉多方案探索工作流(从同一节点并行尝试 approach-a 和 approach-b)、Esc+Esc 快捷键,以及 Checkpointing 与 Git 的能力对比和最佳实践建议。2026/3/5教程Claude Code Remote Control 使用指南:手机和浏览器远程继续本地会话Claude Code Remote Control 让你在手机、平板或浏览器中继续本地 Claude Code 会话。代码仍在本机执行,web/mobile 只是连接窗口,可访问本地文件、MCP servers 和项目配置。2026/6/8教程Claude Code Routines 指南:定时、API 和 GitHub 事件触发的云端自动化Claude Code Routines 让 Claude Code 在 Anthropic 管理的云端基础设施上自动运行:可按计划执行、由 HTTP API 触发,或响应 GitHub PR/release 等事件。2026/6/8教程Claude Code Agent Teams 使用指南:多 Claude 会话协作、共享任务列表和直接通信Claude Code Agent Teams 适合需要多个 Claude Code 会话并行探索、互相挑战和协调的复杂任务。它不同于 subagents:teammates 有独立上下文、共享任务列表,并能直接通信。2026/6/8教程Claude Code Dynamic Workflows 完整指南:用脚本编排上百个 SubagentsClaude Code Dynamic Workflows 让编排逻辑从上下文窗口迁移到 JavaScript 脚本,适合代码库审计、500 文件迁移、多源交叉验证研究和可重复质量检查。2026/6/8教程OpenClaw ACP Agents 完整指南:把 Codex、Claude Code、Gemini 接入聊天线程OpenClaw ACP Agents 官方文档中文整理:什么是 ACP runtime、如何把 Codex/Claude Code/Gemini CLI 绑定到聊天、current conversation bind、thread-bound session、持久会话、运行时配置和适用场景。2026/6/4