如何使用 git diff 显示一些不可见的字符差异?

one*_*one 3 git

当我使用时git diff,我看到了如下差异:

-    self.conv_2 = nn.Conv2d(C_in, C_out // 2, 1, stride=2, padding=0, bias=False) 
+    self.conv_2 = nn.Conv2d(C_in, C_out // 2, 1, stride=2, padding=0, bias=False) 
Run Code Online (Sandbox Code Playgroud)

而且我确定这两行没有白色退格差异。但是,我认为这两行是完全相同的。

我想知道为什么 git 认为它们不同?

有没有办法让git diff显示特殊字符的差异?

chu*_*ckx 7

--ws-error-highlight标志可能有用。

git diff --ws-error-highlight=all
Run Code Online (Sandbox Code Playgroud)

或者,您可以通过管道将git diff输出传送到cat并使用其-A标志显式打印各种非打印字符。

git diff | cat -A
Run Code Online (Sandbox Code Playgroud)

  • 第一个选项不会突出显示空格更改为制表符等差异。第二个效果很好。 (2认同)