一个改文案的 PR 显示 31284 行新增,点开全是 dist/app.9f3c.js。git show --stat 里构建目录占了九成。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,构建产物没被忽略,本地跑完 build 直接 git add .,压缩后的单行文件就进了提交。产物每次构建都变,后续合并和 review 都被淹没。
「构建产物入提交」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。报错里带路径的,先去看那个路径在不在、权限对不对。
git rm -r --cached dist git commit -m 'chore: stop tracking dist' git show --stat HEAD
同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
具体做法是,git rm -r --cached dist 把目录移出跟踪 保留本地文件;.gitignore 补上 dist 和构建缓存目录;单独提交一次移除 别混在功能改动里;CI 加一步检查提交里是否含构建目录;已经进了历史的产物用 filter-repo 清掉。
最后用这个标准收尾,下一个 PR 的 diff 只剩源码改动 提交列表里没有 dist 文件。
