我正在使用this git hook来阻止包含非ascii字符的提交。
当我找到一个非ascii字符时,我想只打印带有字符的行(如果可能的话,还要打印文件名和行号)
git --no-pager diff HEAD -S$char -U0
--unified选项将显示文件中的所有更改,但我只想显示找到的行-S。
答案 0 :(得分:0)
我想只打印带有字符的行(如果可能的话,还打印文件名和行号)
这不是diff
格式,但您可以通过添加xargs
和grep
来轻松获得所需内容:
%git diff --name-only -S"$char"|xargs grep -n "$char" /dev/null
module/main/src/main/java/Scratchpad.java:33: public void Reßet() {
使用GNU grep,您可以将grep -n "$char" /dev/null
替换为grep -Hn "$char"