显示添加到文件的单词

时间:2017-09-30 19:45:41

标签: git

如何在两次提交之间显示添加的文件(比如HEAD vs HEAD^)?

git diff似乎显示"添加",我认为这被定义为添加的行。但是当你在git存储库中标记书面文本时,这并没有那么有用。

2 个答案:

答案 0 :(得分:2)

尝试

git diff --color-words HEAD HEAD^

来自docs

  

--word-diff-regex=<regex>

     

用于决定单词是什么,而不是将非空格的运行视为单词。除非已启用,否则还暗示--word-diff

     

每个非重叠的匹配被认为是一个单词。这些匹配之间的任何内容都被视为空格并被忽略(!)以查找差异。您可能希望将|[^[:space:]]附加到正则表达式,以确保它与所有非空白字符匹配。包含换行符的匹配在换行符处以静默方式截断(!)。

     

例如,--word-diff-regex=.会将每个字符视为一个单词,并相应地逐字符显示差异。

     

也可以通过diff驱动程序或配置选项设置正则表达式,请参阅gitattributes [5]或git-config [1]。明确地覆盖任何差异驱动程序或配置设置。差异驱动程序会覆盖配置设置。

     

--color-words[=<regex>]   相当于--word-diff=color加(如果指定了正则表达式)--word-diff-regex=<regex>.

查看更强大的差异here

的其他建议的更长描述

答案 1 :(得分:0)

如果我正确地解释了您的问题,那么您正在寻找一种方法来区分两个提交,这些提交会显示单词级别的差异,而不仅仅是行级别。

为此,您可以使用适当的外部差异工具,例如: kdiff3,可以处理显示部分线条的差异。 kdiff3将突出显示每个角色差异。

StackOverflow上还有其他答案,详细介绍了如何在git中设置diff工具。例如Git: How configure KDiff3 as merge tool and diff tool