【发布时间】:2018-08-31 23:30:45
【问题描述】:
为了说明问题:见diff
本段中唯一的差异(以A macro that needs 开头的是空格差异(在某些地方插入/删除了换行符);
- 在运行
git diff时,它会以红色显示之前的段落和以红色显示之后的段落,很难发现差异 - 运行
git diff --word-diff时,后面的段落显示为灰色,不显示空格变化 - 在运行
git diff --word-diff-regex=.时,它会显示空白更改(太棒了!),但是[编辑] 它会逐个字符地进行差异,这通常是不可读的,因为它混合了来自不同单词的字母以最小化差异,例如:git show --word-diff-regex=. 4a720394bba39ce1e67d518b909cbb1c25f63d09[- * patch compile-]r [-so `isM-]a[-inModule`-] [-is true when -d:isMainModuleIsAlwaysTr-]{+m+}u[-e-] [- T-]{+c+}h[-at'll give speedup-] be[-nefi-]t[-, and we don'-]t[- hav-]e{+r+} [-to p-]{+w+}a[-tch stdlib files-]{+y+}. ]#
我想要的是在运行--word-diff(或--word-diff-regex)时显示空白差异的选项,例如通过{+ +} 和[- -];注意:--word-diff=color 最好将这些显示给,例如通过{+ +} 和[- -],否则它们会消失。
注意:我在 gitconfig 中使用颜色。
注意:this 无济于事,因为git diff --word-diff=porcelain 的输出中未显示空格差异
【问题讨论】:
-
您说字符差异“通常不是我们想要的”。你能更具体一点,或者举一个你不想要的例子吗?您的意思是您根本不希望显示非空白更改吗? IE。您只想在隐藏任何其他更改的同时查看空白更改?
-
查看解释这一点的编辑。字符差异忽略单词边界,因此会从不同单词中抓取字母以最小化差异;如果某些文本被完全重写,结果将完全不可读。
标签: git diff whitespace word-diff