如何防止git自动对大文件进行二进制diff



我在网上读到,一旦合并中的文件超过某个阈值,git就会自动进行二进制diff,而不是文本diff。因此,我们失去了逐行解析的功能,即使差异本身很小。

我有一个1.3 GB的CSV文件,应该代表一个数据库,根据这个链接,它似乎刚刚超过这个大文件的阈值。我目前正在尝试对Git的冲突检测算法进行基准测试,所以我需要在这个文件上运行文本diff算法。

有没有办法增加自动进行二进制diff而不是文本diff的大小阈值?我已经试过了

git config --global --add core.bigFileThreshold 2g

但这似乎于事无补。我认为这没有帮助,因为据我所知,这只会为符合文本差异条件的文件大小设置上限,但文件大小小于core.bigFileThreshold并不能保证它不会将其视为二进制文件。

正如您的链接所提到的,Git使用xdiff进行文本区分,并使用

1GB限制是代码无法应付的硬限制;我们的选择是要么生成二进制diff,要么死亡。

因此的答案

有没有办法增加自动进行二进制diff而不是文本diff的大小阈值?

似乎是";否;

最新更新