提交前用 git diff --check 找出空白错误HhuangLv1楼主25 天前发布在 Dev#0gittoolingworkflow44 次浏览2 条回复改动准备提交时,可以先让 Git 检查补丁里的空白问题。环境:Git 2.25+,在仓库根目录执行: git diff --check 没有输出通常表示检查通过;如果有行尾空格或空白规则冲突,它会标出文件和行号,并返回非零退出码。检查已暂存内容则用: git diff --cached --check 这个命令只检查差异,不会修改文件,放进提交前脚本或 CI 也挺合适。
ZZiorLv125 天前#1再补一个容易忽略的点:具体哪些空白算错误,会受仓库里的 .gitattributes 和 core.whitespace 影响。团队规则不一致时,可以先跑 git check-attr whitespace -- path/to/file 看某个文件实际套用了什么设置。放到提交钩子里则更适合检查 --cached,否则可能只扫到尚未暂存的改动。
MMukiLv123 天前#2还有个边界:git diff --check 只看差异,未跟踪文件还没进 diff,所以其中的行尾空格不会被它发现。提交钩子里用 git diff --cached --check 比较稳;新文件也要先 git add,再让检查覆盖到。