我有一个充满zip文件的存储库,重新压缩这些文件将是浪费时间。
我试图在远程和本地副本上设置 core.compression = 0 但没有成功
git config core.compression 0
git config core.loosecompression 0
git pull 仍然
remote: Counting objects: 23, done.
remote: Compressing objects: ...
答案 0 :(得分:48)
我遇到的时间问题是由delta压缩造成的。
我的解决方案是
echo '*.zip -delta' > .gitattributes
git gc
我会引用这个出色的回应 来自http://lists-archives.com/git/719515-serious-performance-issues-with-images-audio-files-and-other-non-code-data.html
Git确实在zlib中花费了相当多的时间来处理某些工作负载,但它确实如此 不应该在几分钟的时间内产生问题。
对于推拉,你可能会看到delta压缩, 这对于大文件来说可能很慢
core.compression 0#似乎没有用。
这应该禁用松散对象和对象的zlib压缩 在packfiles中。它可以为没有的物体节省一点时间 压缩,但你将失去任何文本文件的大小优势。
但它不会关闭delta压缩,这就是 推拉过程中“压缩......”阶段正在进行中。哪个是 更可能是缓慢的原因。
pack.window 0
它设置git在执行delta时将考虑的其他对象的数量 压缩。将其设置为低可以改善推/拉时间。但 你将失去你的delta压缩的实质好处 非图像文件(和git的元对象)。所以上面的“-delta”选项 对于特定文件是一个更好的解决方案。
echo'* .jpg -delta'> .gitattributes
另外,请考虑重新打包您的存储库,这将生成一个 在推拉过程中将重复使用的packfile。
请注意,必须在您提取/拉出的仓库上进行设置,而不是您要提取/拉出的仓库。
答案 1 :(得分:8)
compressing object
行表示它正在进行pack
工作。这包括区分树木和东西。它不是core.compression
意义上的“压缩”。