Codex 已生成文件,为什么 Git 看不到:忽略规则与产物清单
Codex 已生成文件而 Git 看不到时,先把任务产物列出来,再核对每项为何没被跟踪。本文围绕具体任务产物建立资产清单与忽略规则证据,目标是防止“源码提交了,复现材料却遗留在本机”。
先让产物清单独立于 Git 存在
任务要求生成脚本、报告和测试数据时,约定每项都有明确路径、用途和交付方式。文件是否存在与是否进入 Git 是两个不同问题。先用文件管理器或脚本核对路径和大小,再用 Git 判断跟踪状态。如果只看 git diff,未跟踪文件和忽略文件都可能被漏掉。
| 合成产物 | 用途 | 计划归属 | Git 现状 | 验收方式 |
|---|---|---|---|---|
| tools/check.py | 复现检查 | 提交源码 | 待核对 | 干净检出能运行 |
| samples/input.csv | 合成输入 | 提交样本 | 待核对 | 编号与行数一致 |
| output/report.html | 当次输出 | 本地或附件 | 待核对 | 清单可找到 |
| .env | 本机凭据 | 保留本地 | 忽略 | 不进入提交 |
清单中“保留本地”也要有理由和再生成方式,不等于可以完全不管。任务需要交付截图时,如果决定不进仓库,就应给一个实际可访问的附件位置,而不是只写“见输出目录”。
在临时仓库做最小忽略演示
创建 artifacts/ 并在 .gitignore 写入 artifacts/,再放一份合成报告。随后运行:
git status --short --untracked-files=all
git check-ignore -v -- artifacts/demo.txt
git status --short --ignored
第一条通常不会列出那份报告,第二条能指出规则来源与行号,第三条可看到忽略项。这个演示只证明规则如何影响未跟踪文件,并不要求读者强制添加。把输出记在清单的“Git 现状”栏,比如“.gitignore 第 3 行命中 artifacts/”。
对正式项目逐项执行同样核对。若文件已被跟踪,普通忽略规则不是解释它消失的充分证据;应回到当前目录、状态和提交检查,不要反复改规则。位于子模块或另一工作树的文件,清单应指向它真正所属的仓库。
决定提交、附件还是可再生成
源码与必要的合成输入通常适合版本化;缓存、依赖目录和含秘密文件通常不应直接提交;大体积中间产物可使用适当的资产管理方式。具体决策遵守仓库约定,不能凭扩展名一刀切。报告即使可再生成,也要记录生成命令与输入版本,否则之后只得到一个名字相同、内容不同的文件。
需要调整忽略规则时,先明确为何此项应纳入版本管理,再做最小规则变化并重查。不要为了消除“Git 看不到”的现象直接强制添加整个目录。已经忽略的目录可能同时装着合成数据、客户附件和凭据。
用干净检出验收清单完整性
最终在另一份干净检出中,根据清单重建任务所需文件:可以提交的应已存在;需要附件的应能取得;可再生成的按记录命令生成。任何缺失都回到清单补说明。这样验证的是交付完整性,不只是当前电脑上“看起来都有”。
常见问题
忽略目录里的成果是不是没用? 不是,但需要明确保存与交付方式。
加上规则例外后就完成了吗? 还应检查实际跟踪状态和暂存范围,防止例外同时放进敏感文件。
文件存在但清单没有怎么办? 先确定是否本次任务产物,再补归属,不能把临时文件全部当成成果。
继续处理相关问题
相关入口:Codex 会话管理。
官方依据与核对日期
核对日:2026-10-23。Git check-ignore:verbose 输出可指出排除规则的来源与位置;Git status 忽略项:ignored 选项可显示忽略条目。文中的流程、阈值和合成数据属于工程示例,不能代替当前账号、文件或运行环境的验收。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。