Claude Code改坏文件怎么回退?rewind检查点、代码与会话恢复区别
通过练习文件理解rewind的恢复范围,分别选择代码、会话或两者回退,再核对Git差异和未追踪修…
文章目录

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

