代理修改了三个文件,结果却不是你想要的。最直接的办法是用 git diff 一条条找出改动再手动还原,或者让代理自己撤销,祈祷它还记得改了什么。Verboo Code 有一个专门的命令来做这件事,可以把代码和对话一起恢复,也可以分开恢复。
如何撤销 Verboo Code 刚做的一次代码修改?
输入 /rewind(别名 /checkpoint 效果相同)并按下 Enter。会打开一个列出当前会话消息的选择器;选择你想恢复到的时间点,再决定恢复什么:只恢复代码、只恢复对话,或者两者都恢复。
确认之前,选择器里会显示什么?
列表中的每条消息都会显示它改动了几个文件,以及总共 +新增 和 -删除 的行数,在真正恢复之前就能看到。不用打开任何一个文件,就能判断这次改动有多大。
恢复选项有哪些?
| 选项 | 恢复的内容 | 保持不变的内容 |
|---|---|---|
both | 代码和对话 | 无 |
conversation | 仅对话 | 文件保持现状 |
code | 仅代码 | 对话保持现状 |
当某条消息没有可用的文件追踪记录时,唯一显示的选项就是 conversation:Verboo Code 不会恢复没有保存快照的代码。
恢复对话会删除后面的内容吗?
不会。恢复对话会从选中的时间点分叉会话:那个时间点之后的路径会从视图中消失,但实际上什么都没被删除。这和 /compact 不同,后者是把历史记录压缩总结,而不是回退时间。
rewind 是默认开启的,还是需要手动启用?
在普通的交互式会话中,文件追踪(用来恢复代码)默认是开启的。只有当有人设置了 CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING=1 时才会关闭。
通过 SDK 运行或在非交互模式下则相反:追踪功能默认关闭,需要设置 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=1 才能开启。不管哪种情况,每个会话最多保留 100 个恢复点,超出后最早的记录会被移除。
/rewind 无法撤销什么
工具本身在确认界面上显示的原话是:"Rewinding does not affect files edited manually or via bash."(回退不会影响手动或通过 bash 编辑的文件。)
如果你在外部编辑器里打开过这个文件,或者某个终端命令直接改动了内容,Verboo Code 是无法追踪到的:只有代理自己编辑或创建的内容才会进入历史记录。恢复对话依然照常生效,但文件会保持原样。
有免费的后悔药,会改变你尝试的方式:不用再纠结一次更大的重构值不值得冒险,你可以直接让代理去做,因为最坏的结果不过是一次 /rewind。在 Verboo Code 上,第五次尝试和第一次的成本完全一样,因为 token 是无限的。



