最佳答案
Git diff 引擎看到整个文件在没有更改时被更改。例如,以这个提交为例: https://github.com/etiago/phpvirtualbox/commit/626e09958384f479f94011ac3b8301bd497aec51
这里我们看到文件 Lib/vboxConnector.php有2807个添加和2778个删除。此外,通过手动 git diff,我发现实际上,整个文件都被作为删除(用减号标记) ,而一个全新的文件被作为添加。但是,这些文件有很多共同点,Git 只是忽略了它们。
我看过 返回相同文件的整个文件,但似乎并非如此,因为两次提交之间不存在空格更改。
此外,对文件进行两次提交(626e09958384f479f94011ac3b8301bd497aec51
和 626e09958384f479f94011ac3b8301bd497aec51^1
中的提交)并使用 Meld 对它们进行区分,我得到了正确的差异分析。