我不确定发生了什么,但是我只是设置了diff工具,以被git difftool调用,但是遇到的第一个文件difftool以标准的diff方式显示-在控制台上逐行替换
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作为比较工具,它可以处理这些情况吗?如果不是,那么另一个人可以这样做吗?
答案 0 :(得分:1)
组合差异是Git特有的,通常在其他任何地方都没有。
即使某些其他命令也可以做到,Git也不知道如何调用其他命令来使它们产生组合的差异。
(Git在各种git diff
文档的一节中描述了如何读取组合差异,并省略了一个关键事实:组合差异通常忽略大部分差异。这一事实是在文档的其他地方提到过,与第一部分相距甚远,试图理解如何读取Git组合差异。无论如何,组合差异仅对检查合并的合并Y部分有效。)