Skip to content

访问受限

会员专属内容

Claude Code 对话回退

课程导读

这节课主要讲 Claude Code 的“后悔药”功能:当你说错需求、执行了不满意的操作,或者想回到某一次对话之前,可以通过 checkpoint 回退对话、代码,或者同时回退两者。

一、什么是 checkpoint

在与 Claude Code 对话的过程中,你每发送一条消息,它都会自动创建一个新的 checkpoint,也就是回退点。

你可以把它理解成游戏里的存档点。后面如果发现方向不对,就可以回到某个存档点重新来。

二、进入回退界面

进入回退界面的快捷键是:

快捷键作用
Esc + Esc进入 checkpoint 回退界面

需要注意:

情况结果
输入框里有内容连按两次 Esc 会先清空输入框
输入框为空连按两次 Esc 才会进入回退界面

进入回退界面后,可以根据对话内容选择想回到哪一个 checkpoint。

三、回退选项

选中某个 checkpoint 后,Claude Code 会提供不同的回退方式。

如果这段对话没有涉及代码变更,选项会比较少;如果涉及代码变更,通常会看到更多选项。

常见选项如下:

选项含义
Restore code and conversation同时回退代码和对话
Restore conversation只回退对话,代码保持当前状态
Restore code只回退代码,对话保持当前状态
Summarize from here从选中消息开始压缩总结,代码不变
Never mind取消回退

四、只回退对话

选择 Restore conversation 后,Claude Code 会把对话回到某条消息发送之前的状态。

效果是:

内容结果
聊天记录选中 checkpoint 后面的记录会消失
输入框会重新出现当时那条消息,方便你修改后重发
代码文件保持当前状态,不会被撤销

适合场景:

  • 你想删掉某段无效对话
  • 你希望保留已经生成的文件。
  • 你想从某条消息之前重新开始对话。

五、同时回退代码和对话

选择 Restore code and conversation 后,Claude Code 会同时回退对话和它直接修改过的代码文件。

效果是:

内容结果
聊天记录回到选中 checkpoint 对应的位置
输入框会回填当时那条消息
Claude Code 创建或编辑的文件会回退到当时的状态

适合场景:

  • Claude Code 刚刚生成了一批你不满意的文件。
  • 你想撤销某次任务产生的代码变更。
  • 你希望从某个需求点重新开始。

六、只回退代码

选择 Restore code 后,Claude Code 会尝试回退它直接创建或修改过的代码文件,但保留当前聊天记录。

适合场景:

  • 对话内容还有参考价值。
  • 你只是不想保留刚才生成的代码。
  • 你希望继续沿用当前沟通上下文。

七、Summarize from here

Summarize from here 不会修改磁盘上的代码文件。

它的作用是从选中的消息开始,把后续对话压缩成一段 AI 生成的摘要。

可以理解为:

部分处理方式
选中消息之前的内容保持原样
选中消息及之后的内容替换成一段摘要
磁盘上的代码文件不修改
选中的原始消息会回填到输入框,方便修改后继续发送

这个功能更适合后面学习上下文时再深入理解。

典型场景是:前面一段对话在定义需求和架构,很重要;后面一大段都在试错、调试、看日志,比较臃肿。这时可以从开始调试的那条消息切一刀,把后面压缩成摘要。

八、回退功能的限制

回退界面下方会提示:

text
Rewinding does not affect files edited manually or via bash.

意思是:Claude Code 的回退不会影响你手动修改的文件,也不会撤销通过 Bash 命令产生的变更。

也就是说,Claude Code 的回退功能只能处理它自己直接创建或修改的文件,并不能保证把整个项目完全恢复到过去某个状态。

变更来源是否会被 checkpoint 回退影响
Claude Code 直接写入的文件通常会
你手动创建或修改的文件不会
Bash 命令产生的文件变化不会