Codex 修改错了怎么安全撤销
教程版本基线Codex CLI v0.147.0撤销操作本身也可能覆盖你的工作。安全原则是:先看状态、分清归属、保存证据,再选择最小回滚范围。
完成后,你能在不误删用户已有改动的前提下,撤销 Codex 修改的文件或提交。
- 当前项目由 Git 管理。
- 暂停继续修改文件。
- 不要直接执行
git reset --hard、git clean -fd或整目录覆盖。
第 1 步:只读确认当前状态
Section titled “第 1 步:只读确认当前状态”请只读检查当前 Git 状态,不要撤销、删除、覆盖或修改任何内容。
请区分:1. 任务开始前就存在的用户改动。2. 本次 Codex 新增的改动。3. 未跟踪文件、暂存区改动和已经提交的改动。4. 哪些文件无法可靠判断归属。
最后提出最小回滚方案,但暂时不要执行。如果无法分清改动归属,先复制项目或导出补丁,不要继续回滚。
第 2 步:选择正确场景
Section titled “第 2 步:选择正确场景”单个文件且完全属于本次任务
Section titled “单个文件且完全属于本次任务”可以只恢复这个文件,但必须先展示目标路径和将丢失的 diff。
一个文件混有用户和 Codex 改动
Section titled “一个文件混有用户和 Codex 改动”不要整文件恢复。根据 diff 逐段撤销,或者从备份中手工合并。
本次任务已经形成独立提交
Section titled “本次任务已经形成独立提交”如果提交已经共享,优先用新的 revert 提交保留历史;如果尚未共享,也要先确认是否允许改写本地历史。
存在未跟踪文件
Section titled “存在未跟踪文件”先逐个列出并确认归属。不要用广泛的 clean 命令批量删除。
第 3 步:执行前再确认
Section titled “第 3 步:执行前再确认”按刚才确认的方案准备回滚,但执行前先停下来让我确认。
必须展示:1. 将被恢复、删除或修改的精确文件路径。2. 每个文件会丢失哪些内容。3. 是否会影响暂存区、提交历史或用户原有改动。4. 回滚后的验证命令。
禁止使用 git reset --hard、git clean -fd 或递归删除。确认路径和影响都正确后,再明确授权执行单个操作。
第 4 步:验证回滚结果
Section titled “第 4 步:验证回滚结果”回滚后要求 Codex:
请只读验证刚才的回滚结果:1. 展示 git status。2. 展示仍然存在的 diff 摘要。3. 确认用户原有改动是否仍在。4. 运行与回滚范围相关的最小检查。5. 报告未恢复或无法确认的内容。你做到这里,如果看到下面 3 个结果,就说明本篇完成:
- 只撤销了经过确认的 Codex 改动。
- 用户原有改动、其他未跟踪文件和无关提交仍然存在。
git status、剩余 diff 和相关检查结果都已记录。
下一篇看:Git 提交前检查。