为什么git对于大文件这么慢?


8

我试图使用git管理图片(备份/拍摄快照)。整个库为几GB。大多数文件是2-3M的JPG。当我将文件添加到存储库时,似乎要花几天时间。CPU利用率始终接近100%。

大文件上git变慢的原因是什么?

ps我知道git不是为此设计的。

Answers:


7

默认情况下,Git压缩文件。默认情况下,JPEG已被压缩。不是大文件,而是压缩文件。

您会注意到将ZIP文件添加到git存储库中的效果。

编辑:关于压缩,https://stackoverflow.com/questions/7102053/git-pull-without-remotely-compressing-objects上有一个有趣的线程。


1
如何告诉git不要压缩文件?我不一定需要节省空间。我希望它尽快。谢谢!
伍兹

2
您可以在git config其中使用许多开关,包括core.compressionpack.window。似乎我从未尝试过在没有压缩的情况下运行git,YMMV。请发布您发现的内容,以帮助我们所有人从您的经验中学到东西。

@Eroen,您说的很对。我已对您的评论投了赞成票。

2
每次使用Git时,它还会为每个文件创建(并检查)一个sha1哈希,这对于大型文件也可能需要一些时间。
Eroen

3
@RandolphWest:很好,但是错了。可以通过关闭zlib压缩$ git set core.compression 0。sha1是每秒数十个MiB,但是它们可能会严重影响低内存条件。
Eroen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.