Git diff-cc 模式不会被 difftool 显示

Git diff -cc mode won't be displayed by difftool

我不确定发生了什么,但我只是将我的差异工具设置为由 git difftool 调用,但 difftool 遇到的第一个文件以标准差异方式显示在控制台上逐行替换

diff --cc path/to/file.c
index ac1b99f,da29e2e..0000000
--- a/path/to/file.c
+++ b/path/to/file.c
@@@ -186,18 -133,20 +188,18 @@@

   code code code code
   more code more code more code
-- old code old code old code [displayed in red]
++ new code new code new code [displayed in green]
   even more code even more code 
   yet more code yet more code

这似乎是 diff 的一个特例,因为它有 --cc 标志和三重 @ 符号 (@@@ ) 而不是双重 (@@),最重要的是对差异修订的奇怪描述:hash1,hash2..0000000.

这到底是什么?我选择了 Beyond Compare 作为我的 diff 工具,它能处理这些情况吗?如果没有,是否有其他人可以这样做?

组合差异是 Git 所特有的,通常 在其他任何地方都不可用。

Git 不知道如何调用其他命令让它们产生组合差异,即使其他一些命令能够做到这一点。

(Git 描述了如何阅读各种 git diff 文档的一个部分中的组合差异,并遗漏了一个关键事实:组合差异通常 省略 大多数差异。这个事实在文档的其他地方提到,远离第一部分研究试图理解如何阅读 Git 组合差异。无论如何,组合差异只对检查合并非常有用 - y 部分合并。)