AI 删除了我的代码:如何恢复

发布: (2025年12月22日 GMT+8 22:07)
4 min read
原文: Dev.to

Source: Dev.to

AI 删除我的代码:如何恢复的封面图片

首先:不要关闭任何东西

你的编辑器很可能仍在内存中保留已删除的文件。每关闭一个标签页都可能导致丢失。请在处理此问题时保持所有标签页打开。

检查编辑器的撤销历史

如果已删除文件的标签页仍然打开,尝试反复使用 Ctrl+Z(Mac 上为 Cmd+Z)。有时即使文件已经从磁盘删除,内容仍可以恢复。这并不总是有效,尤其是当 AI 在未打开文件的情况下直接删除时,但值得先尝试。

使用本地历史

VS Code 和 Cursor 都会维护本地文件更改历史,很多开发者并不知道这点。

  1. Ctrl+Shift+P(或 Cmd+Shift+P)。
  2. 输入 Local History: Find Entry to Restore
  3. 浏览查找已删除的文件。

只要文件曾经被编辑过,即使已经删除,也可以恢复。

检查 AI 工具的恢复功能

  • Cursor:在 Composer 面板中查找 “Checkpoint created” 消息。每次提示都会创建一个检查点,你可以点击对应的 Restore 恢复到删除前的状态。
  • Claude Code:连续按两次 Esc 或输入 /rewind 打开检查点菜单。你可以只恢复代码、只恢复对话,或两者一起恢复。

这些功能依赖于对话上下文。如果在删除后你已经做了大量工作,或删除是通过标签补全而非 Composer 完成的,可能找不到有用的检查点。

回退到 Git

如果在 AI 进行更改之前已经提交,Git 可以恢复文件:

git status           # 查看哪些被删除
git checkout .       # 将所有内容恢复到最近一次提交的状态

如果没有提交,Git 无能为力——这也是为什么要定期提交的原因。

当所有方法都无效时

检查系统备份:

  • macOS:Time Machine
  • Windows:文件历史记录
  • 云同步服务:Dropbox、OneDrive、Google Drive 等

这些服务可能保存了文件的近期版本。成功率不高,但有时确实能起作用。

防止下次再发生

AI 代理行为不可预测。更好的提示和仔细的差异审查可以降低风险,但并不能完全消除。关键是要在工作流中内置恢复机制,而不是事后补救。

使用 mrq

mrq 会监视项目目录,自动捕获每一次文件更改——无需手动提交。

mrq watch               # 开始监视项目
mrq history            # 查看最近的快照
mrq restore abc123     # 恢复到指定的快照

有了 mrq,即使从未提交,你也能回到之前的确切状态。每一次更改都会被捕获,每一个状态都可以恢复。

mrq 在你使用 AI 编码时自动捕获所有文件更改。只需设置一次,出现问题时即可瞬间恢复。

mrq – 自动文件更改捕获

Back to Blog

相关文章

阅读更多 »