有些 diff 看起来没问题,真正提交时却混进了行尾空格或空白错误。Git 自带的 git diff --check 可以先扫一遍,不会执行代码。
环境:Git 2.25+。可以这样试:
mkdir diff-check-demo && cd diff-check-demo
git init -q
printf 'one \ntwo\n' > note.txt
git add note.txt && git commit -qm init
printf 'one \ntwo changed\n' > note.txt
git diff --check
输出会标出有问题的行和列;把行尾多余空格删掉后再跑一次,没输出就通过了。它只检查当前 diff,已经提交进历史的内容不会被扫到,放在提交前钩子或 CI 里比较顺手。