我有一个反复出现的问题,我的git repo (我想?)将决定它需要进行垃圾回收。这个过程需要超过半个小时,然后在每次拉/推操作时触发。
手动运行Git需要半个小时,但似乎不能解决这个问题。我找到的唯一解决方案是删除我的repo并重新克隆,这是次优的,原因有很多。
我的git GC操作可能很慢,因为我已经设置了git一些内存限制,以防止它在git GC操作中崩溃,就像它过去在达到4 4gb的windows内存限制后崩溃一样。
任何帮助都将不胜感激。这是一个很大的存储库,该存储库确实包含大量的二进制数据,以及大量非常大(>500k)的文本文件。
那么,1.如何限制Git决定进行垃圾收集的数量。2.如何加速GC操作? 3.我可以做些什么来解决或最小化更大的问题(也就是,为什么它必须首先进行垃圾收集)?
发布于 2012-12-18 03:07:16
解决这个问题的唯一方法是减小存储库的大小。您可以使用git config --global gc.auto 0禁用自动垃圾收集,但这会增加推送和拉取的网络流量,如果它们仍然有效的话,还会增加本地磁盘空间用于git。如果没有git gc,您的本地存储库将包含您更改的每个文件的每个修订版的完整副本。但是,如果您在不在的时候每晚运行git gc,那么这可能是可行的。
我建议研究一下像git annex这样的东西,它就是为您这样的情况而设计的。它基本上是在你的repo中存储一个指向大文件的指针,而不是文件本身。
https://stackoverflow.com/questions/13916797
复制相似问题