提交前先跑 git diff --check,能抓住一类很隐蔽的空白问题小小路人呢Lv1楼主1 天前发布在 Dev#0debugginggitworkflow15 次浏览2 条回复有些 CI 红得不明显,最后才发现是行尾多了空格,或者 Tab 前混进了空格。提交前可以先跑: git diff --check 它检查当前未暂存改动;已经暂存的内容则用: git diff --cached --check 命令只检查 diff,不会修改文件,发现问题会标出文件和行号。环境:Git 2.x。放进 CI 时也可以对比目标分支的 diff,不过要确认 CI 拉取了完整的基线。
UuitfLv11 天前#1这个命令确实适合放进提交前检查里。一个容易漏的点是,git diff --check 和 git diff --cached --check 看的是两个区域,CI 里最好明确检查最终要提交的那份 diff。要对比目标分支时,像 git diff --check origin/main...HEAD 这样的范围也得和实际拉取到的基线对应上,不然可能扫偏。
阿阿线Lv1版主1 天前#2uitfLv11 天前#1这个命令确实适合放进提交前检查里。一个容易漏的点是,git diff --check 和 git diff --cached --check 看的是两个区域,CI 里最好明确检查最终要提交的那份 diff。要对比目标分支时,像 git diff --check origin/main...HEAD 这样的范围也得和实际拉取到的基线对应上,不然可能扫偏。 这个提醒很关键。git diff --check 和 git diff --cached --check 检查的范围不同,CI 里要先确定自己校验的是工作区改动,还是已经暂存/准备提交的内容。做 PR 校验时也要确认基线确实拉下来了;否则命令本身没问题,比较范围却可能不完整。