3

我使用 kdiff3 作为 difftool。当我使用 git difftool 命令时,它还会向我显示完全相同的文件。甚至 kdiff3 也会弹出一条消息,指出文件是“二进制相等的”(尽管它们是文本文件)。有没有办法避免显示未更改的文件?

4

2 回答 2

1

我在使用 Beyond Compare 时遇到了与我的 difftool 相同的问题。对我来说,这是一个行尾问题。

我注意到,当我运行 git diff(而不是 git difftool)时,我看到在 Beyond Compare 中没有变化的相同文件显示在消息中

warning: LF will be replaced by CRLF in <path to file>
The file will have its original line endings in your working directory.

您可能会说“但是等等,我知道这不是行尾问题,因为当我在 Kdiff3 中打开它时,它不会显示任何行尾更改。” 这与该警告消息的“文件将在您的工作目录中具有其原始行结尾”部分有关。

我认为自己是一个非常称职的 git 用户,但我承认我从来没有勇气真正深入研究它如何处理行尾更改。所以我不知道所有细节,但我知道 git 可以在幕后做一些魔术来向你展示你的操作系统喜欢的行尾,即使这不是存储在存储库中的确切内容。

按照这些说明,我能够绕过这些奇怪的文件,并使我的 .git/info/attribute 文件看起来像这样:

* -crlf
于 2018-03-13T16:23:45.040 回答
0

也许您在 Diff(在 Config 下)中启用了一些预处理器命令,这就是二进制文件可能相同的原因。

如果要隐藏它们,则需要在目录 -> 文件比较模式下进行全面分析(全面分析)它会隐藏处理过的文件。

但第一步是在另一个差异应用程序中检查它(像往常一样确保文件结尾匹配或忽略)。

于 2015-11-06T02:18:34.250 回答