[AI书房] 第20章 应急处理顺序
把工作交给AI,然后离开座位 - YOLO模式完全入门
第20章 应急处理顺序
金京镇律师
凌晨一点,显示器上正涌现出红色的文字。终端屏幕疯狂地滚动着。Claude Code 正在执行某些操作,但你根本不知道它在做什么。文件正在变动,错误信息不断弹出,它又在尝试新的操作。你的心跳加快,双手在键盘上停滞不前。“该怎么办?”
停下来。
这就是应急处理的开始。按下 Ctrl+C。无论是在 Mac 还是 Windows 上都是一样的。按住 Ctrl 键的同时按下 C。终端中当前运行的所有任务都会停止。无论 Claude Code 正在长时间修改文件、部署服务器,还是在运行 npm install,按下 Ctrl+C 都会立即中断。起火时,第一件事不是拿起灭火器,而是拨打 119。在代码世界里,119 就是 Ctrl+C。
停下来后,先深呼吸一下。不要因为心急就立刻尝试修复。首先要查看究竟发生了哪些变化。
让 Claude Code “检查一下刚才的操作修改了哪些文件”。Claude Code 会执行 git status 并显示修改过的文件列表。红色显示的文件是已修改但尚未保存(提交)的文件;绿色显示的文件是等待提交的文件。通过查看文件名,逐一判断:“这是我想要的变更吗?还是 Claude Code 乱改了我的代码?”
如果想看更详细的内容,可以要求它“显示每个文件中哪些行发生了变化”。Claude Code 会执行 git diff 并展示新增和删除的行。带有绿色 + 的行是新增内容,带有红色 - 的行是删除内容。如果文件太多,可以要求它“按文件汇总修改的行数”,这样就能一目了然。
好了,现在情况已经明朗了。现在有两种选择。
如果变更中还有有用的部分,就保留下来。挑选你想要的文件,使用 git add 文件名 将其放入暂存区,然后使用 git commit -m "到这里为止没问题" 进行保存。其余的文件则使用 git checkout -- 文件名 恢复原状。
如果变更全部乱套了,那就一次性全部撤销。输入 git checkout -- . ,所有未提交的变更都会消失,回到最后一次保存的状态。千万不要漏掉那个点,因为点号代表“当前文件夹下的所有文件”。
如果 Claude Code 甚至已经完成了提交,该怎么办呢?输入 git log --oneline 查看最近的提交列表。你会看到 Claude Code 创建的提交,可能会带有类似 "refactor: update file structure" 的信息。数一下有多少个这样的提交。如果是三个,就使用 git reset --hard HEAD~3 回退到三个版本之前的状态。这个命令会让提交本身彻底消失。请谨慎使用,因为回退之后是无法再次回退的。(准确来说可以通过 git reflog 恢复,但我不建议初学者这样做。)
火灭了,现场清理完毕,也回退了,现在该寻找原因了。向上滚动终端,阅读 Claude Code 做了什么。在大多数情况下,原因只有三种:指令模糊导致理解偏差、找错了文件路径,或者是遇到了错误并试图自行修复时导致了事态扩大。
找到原因后,要建立预防机制,防止事故再次发生。打开 CLAUDE.md 文件,将刚才发生的事故转化为一条规则写下来。“不要删除 src 文件夹中的文件。”“在执行 git push 之前,务必先停下来询问我。”“.env 文件不要添加到 Git 中。”随着这些规则的积累,CLAUDE.md 会变得越来越厚,这很正常。因为这个文件记录了你与 Claude Code 共同工作时积累的经验。
总结一下应急处理的顺序:停止(Ctrl+C)、查看(git status, git diff)、回退(git checkout, git reset)、寻找原因、建立规则。掌握了这个流程,即使凌晨一点满屏红字,你也不会惊慌失措。啊,虽然还是会慌,但你的手会先于大脑做出反应。
今日所学
发生事故时,要停止、查看、回退、找原因并建立规则。通过 Ctrl+C 停止,通过 git status 和 git diff 确认变化,通过 git checkout 或 git reset 进行回退,从终端日志中寻找原因,并在 CLAUDE.md 中写下预防规则。按这五个步骤依次操作即可。
第七部分:与 YOLO 模式共处的日常













