如何使用git-diff显示空格和制表符

时间:2014-08-28 13:53:18

标签: git git-diff

我使用git-diff获得以下输出。

- // sort list based on value    
+ // sort list based on value

如何轻松查看该行末尾删除的标签/空格的数量?

2 个答案:

答案 0 :(得分:30)

注意:Git 2.5 +(2015年第2季度)将为空白空间检测提出更具体的选择。

commits 0e383e10ad782fd55ef3eJunio C Hamano (gitster) [2015年5月26日]。{ Juniocommit 709cd91中合并,2015年6月11日)

  

diff.c--ws-error-highlight=<kind>选项

     

传统上,我们只关心引入的空白破损   在新的行   有些人想在旧的时候画出空白破损   线也是。当他们看到新线上的空白破损时,他们   可以在相应的上发现同样的空白破损   旧线,并想说&#34;啊,那些破损在那里,但他们   从原版继承而来,所以暂时不要触摸它们。&#34;

     

介绍--ws-error-highlight=<kind>选项,让他们通过   要指定的以逗号分隔的oldnewcontext列表   什么行突出显示空白错误。

documentation now includes

--ws-error-highlight=<kind>
  

<kind>指定的颜色突出显示由color.diff.whitespace指定的行上的空白错误。
  <kind>是逗号分隔的oldnewcontext列表。
  如果未指定此选项,则仅突出显示new行中的空格错误。

     

E.g。 --ws-error-highlight=new,old突出显示删除和添加的行上的空白错误   all可以用作old,new,context的简写。

例如,旧提交有一个空格错误(bbb),但您只能关注新错误:

old and new shitespace errors

(在t/t4015-diff-whitespace.sh之后完成测试)

更新Git 2.11 +(2016年第4季度,一年半之后):

git config diff.wsErrorHighlight [old,new,context]

git diff/log --ws-error-highlight=<kind>缺少相应的配置变量来默认设置它。这是在Git 2.11中添加的。

commit 0b4b42e,见commit 077965fcommit f3f5c7fJunio C Hamano (gitster)(2016年10月4日)。
Junio C Hamano -- gitster --于2016年10月26日commit e5272d3合并)

答案 1 :(得分:10)

我可以考虑多种选择:

  • 配置Git使用颜色:git config --global color.ui true。行尾的空格现在以红色突出显示。

  • git diff的输出通过catgit diff | cat -A-A标记告诉cat显示不可打印的字符(例如^I标签)。