Codex CLI 云端同步失败根治:3 类本地文件冲突的 5 步解决流程
1. 同步失败不是网络问题,是本地文件状态在“说谎”Codex CLI 报错Sync failed: conflict detected的瞬间,我下意识去查网络、重装 CLI、甚至怀疑 OpenAI API 端口被封——直到第三次在客户现场卡住两小时后,我抓包发现:HTTP 请求根本没发出去。真正拦住同步的,是一组被 Codex 内部状态机标记为“dirty but untracked”的本地文件。这不是 Codex 的 Bug,而是它对“文件一致性”的定义和开发者日常操作之间存在三处根本性错位:第一类冲突:Git 暂存区外的修改你改了utils/date.js,git status显示modified,但没git add。Codex CLI 在同步前会扫描工作目录所有文件的 mtime + hash,发现它和云端快照不一致,却查不到 Git 的 staging 记录——它判定这是“未声明的变更”,直接拒绝同步,防止覆盖你尚未提交的意图。第二类冲突:符号链接与硬链接的元数据漂移项目里用ln -s ../shared/config.json config.local.json做配置软链。某次你手动编辑了config.local.json,但 Codex CLI 读取的是原始config.json的 inode 和 ctime。当原始文件被