<分区>
git diff 引擎将整个文件视为已更改,但实际上并未更改。例如,提交:https://github.com/etiago/phpvirtualbox/commit/626e09958384f479f94011ac3b8301bd497aec51
这里我们看到文件lib/vboxconnector.php有2807次添加和2778次删除。此外,通过执行手动 git diff 我发现确实,整个文件被视为删除(标记为减号),而整个新文件被视为添加。但是,这些文件有很多共同点,而 Git 却忽略了这一点。
我看过diff returning entire file for identical files但似乎并非如此,因为两次提交之间不存在空白更改。
此外,获取文件的两次提交(626e09958384f479f94011ac3b8301bd497aec51
和 626e09958384f479f94011ac3b8301bd497aec51^1
中的一次提交)并使用 Meld 对它们进行差异分析,我得到了正确的差异分析.