如何在两次提交之间显示添加的文件(比如HEAD
vs HEAD^
)?
git diff
似乎显示"添加",我认为这被定义为添加的行。但是当你在git存储库中标记书面文本时,这并没有那么有用。
答案 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