Git difftool 显示相同的文件

标签 git kdiff3

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

最佳答案

我在使用 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 可以在幕后做一些魔术来向你展示你的操作系统喜欢的行结尾,即使这不是存储在存储库中的内容。

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

* -crlf

关于Git difftool 显示相同的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19369699/

相关文章:

emacs - ediff merge 可以同时显示祖先、A、B 和合并缓冲区吗?

bash - 一次创建所有分支时出错

git - 快速导入/快速导出 git/bzr : what is the importance of the marks files to history integrity?

node.js - 我是否提交由 npm 5 创建的 package-lock.json 文件?

xcode 不显示某些文件

git - 如何在 Git 扩展中配置 KDiff3?

git - Kdiff3 无法使用 mergetool 命令打开

git - 我如何强制始终显示 mergetool GUI (KDiff3)?

git - Cygwin 混帐 : The merge tool kdiff3 is not available

ios - 如何与 1 名以上的开发人员一起处理 XCode 项目