必须先提交或暂存本地修改,因为Codex读取的是混合状态,无法区分意图与草稿;git status非空即不安全,需按未跟踪、已修改、丢弃三类处理,或新建codex/前缀分支隔离改动。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex任务开始前必须确保Git工作区干净,否则它可能在你已修改的文件上叠加改动,导致冲突、覆盖或无法回溯。
为什么必须先提交或暂存本地修改
Git状态不干净时,Codex读取的是混合状态:既有你手动改过的代码,又有未暂存的临时内容。它无法区分哪些是你的意图,哪些是待清理的草稿。一旦它基于错误基线生成diff,你审查时看到的就不是“Codex改了什么”,而是“Codex+你+随机脏状态共同造成的结果”。
这一步不可跳过——【git status 输出非空即视为不安全,必须处理完毕才能让 Codex 开始任务】。
具体操作路径
第一步:运行 git status 查看当前状态
第二步:根据输出分三类处理
→ 如果只有未跟踪文件(Untracked files),且确认无关(如日志、临时构建产物),可忽略或用 git clean -fd 清理;
→ 如果有已修改但未暂存的文件(Changes not staged for commit),且你确定要保留这些改动,执行 git add . → git commit -m "pre-codex: save local changes";
将来自 Marvis 或微信的可信远程软件开发请求中继至用户本地的 Codex CLI,等待编码任务完成,并返回经验证的结果。当用户通过 Codex 要求 Marvis 检查、实现、修复、测试、review 或继续在明确指定的本地项目目录中开展工作时,使用此功能。
→ 如果你只是临时调试想丢弃改动,直接 git restore . 回退全部工作区变更——注意这会清空所有未暂存修改,不可逆。
更稳妥的做法:新建分支再操作
方法一:用 git switch -c codex/xxx 新建并切换到功能分支
方法二:用 git checkout -b codex/xxx(旧版 Git)
新建分支后,即使你忘了清理,Codex 的所有改动也只发生在新分支上,主分支完全不受影响。分支名建议带 codex/ 前缀,便于识别和后续清理。
这一步操作起来很简单,直接在终端里敲一条命令就行。
方法三:如果项目已启用 AGENTS.md,检查其中是否包含 pre-task: git status 检查规则——有则 Codex 会在任务启动前自动拦截并提醒,没有就靠你手动执行。










