跳到文章正文
Claude 实用教程

Claude Code改坏文件怎么回退?rewind检查点、代码与会话恢复区别

通过练习文件理解rewind的恢复范围,分别选择代码、会话或两者回退,再核对Git差异和未追踪修…

Claude Code怎么用?从安装准备到完成第一个代码任务
Claude Code怎么用?从安装准备到完成第一个代码任务

Claude Code修改了几轮文件,最新一次方向不对,想回到之前继续做,除了Git还能用检查点。官方的checkpointing会记录由文件编辑工具产生的修改,/rewind可选择恢复代码、会话或两者。它有明确追踪边界,本文建议先在练习仓库熟悉,再用于真实任务,不把一次回退当作所有副作用的撤销。

第一步:准备能对照的练习状态

先保存自己的未提交工作,查看当前分支与差异,必要时复制受影响文件。练习时准备两个普通文件:让Claude通过编辑工具修改其中一个,另一个保持原样。每次提示明确只改一个地方,不运行发布、数据库写入等外部操作。

官方说明Claude在提示开始的轮次前创建检查点,并追踪文件编辑工具修改;当前保留最近100个检查点,文件快照还受清理策略影响,默认约在最后保存后30天清理。因此不能把检查点当作永久备份,更不能替代项目版本控制。

第二步:打开rewind并选对轮次

/rewind

也可在输入框为空时连续按两次Esc打开。若输入框里已有文字,双Esc可能只是清空输入,Up可恢复;为了避免误解,初次操作直接输入/rewind更明确。列表中选择产生不希望修改之前的正确提示,结合时间和内容核对,不只看最后一行。

某一轮中途补发的消息可能没有可单独恢复的代码快照。官方提示这种情况需选择该轮起始提示,代码恢复会覆盖整轮对应的变化。先理解影响文件,再确认,不要以为选中一句中途消息就只撤销那一句引起的改动。

第三步:按目的选择恢复模式

Restore code and conversation用于同时恢复文件与会话位置;只想撤销文件而保留讨论时选Restore code;只调整聊天分支、不动磁盘时选Restore conversation。菜单还提供摘要选项和取消。不同选择对文件与消息的影响不同,应先确定你究竟想改变哪一种状态。

练习目标:撤销刚才对练习文件的编辑,保留讨论。
操作:打开/rewind,选对应轮次,选择仅恢复代码。
核对:文件内容是否回到目标版本;聊天是否仍保留;其他文件是否变化。
下一轮提示:只读检查恢复结果,列出当前差异,暂不继续改写。

会话恢复后,提示框也会回到相应内容。官方说明如果还没发送新的提示就退出,原始消息可能被恢复;发送新提示才会保存回退后的会话状态。因此要保留新分支时,先核对目标,再发一条明确的继续或检查提示,而不是退出后猜保存结果。

第四步:确认哪些修改没有被追踪

不能简单说“Bash修改都不会回退”。如果文件此前已被Claude编辑工具追踪,后来Bash对同一文件的修改也可能被覆盖;只经Bash创建或修改而未被追踪的文件则可能留在原处。其他程序、并行会话与人工修改也不能假定全部捕获。

子代理的大部分独立编辑不在当前会话检查点范围内,符号链接和硬链接也可能跳过并给出提示。若涉及这些情况,恢复后逐文件检查当前内容。数据库、网络请求、已发消息、安装软件和外部部署不会因为恢复聊天或本地文件就自动撤销。

第五步:检查差异并保存正确结果

git status --short
git diff --stat
git diff

在练习仓库检查已追踪文件,并留意新文件;Git差异没有显示新文件内容时应另外打开核对。接着运行与实际修改相关的验证,确认恢复后的版本可用。这里的命令是验收示例,没有替你执行真实回退,也不保证未经备份的修改必然可找回。

若只希望缩短讨论,可以使用摘要功能,它不改变磁盘文件且保留原始消息;不要把摘要当成文件恢复。最终标准是目标文件回到你选定的状态、其他修改已核对、外部副作用有单独处理,以及后续提示明确接着哪个版本工作。重要节点仍应保存为可审查的Git提交或备份。

官方资料

资料核对日期:2026年11月6日。

本文地址:https://www.163264.com/19478