简单的问题,我想有配额的机器上运行git gc。预GC,我在了解使用的18GB,几乎全部是我的克隆git仓库。我的磁盘限额为25GB。在git gc操作,足够的临时文件被写入磁盘,以打我的极限,从而导致git gc操作失败。

我可以删除操作失败后的.git/objects/pack/tmp_pack_*并得到回落到使用的18GB,但我真的很想实际完成git gc和回收一点点的性能。

有一些奇特的选项(或其他系列Git命令的),我可以使用,不涉及第一书写> 7GB的临时文件到磁盘?

有帮助吗?

解决方案

gc的哪一部分是对你很重要?你可以尝试单独运行git-prunegit-repack部分。随着git-prune,可以肯定,并指定一个截止日期与--expire选项。如果有一吨在您的回购松散的对象,让他们闪开第一将是有益的。*

通过git-repack,可以或许惹的深度和窗口设置得到的东西足够小,你有空间内运行。

*我不想假装全面了解所有相关的问题,但我注意到,剪枝来的之后的在GIT-GC代码的重新包装。

其他提示

看起来像最好的解决办法是要求它更大的配额,但我仍然有兴趣听的解决方法。今天,他们很慷慨,但明天...:)

git prune是一个很好的建议,良好的通话Jefromi。

您可以做的另一件事是压缩你的其他文件; git gc;解压缩。

7z得到惊人的压缩,但不会保留硬链接和Unix所有者/组,IIRC。如果你有一个限额,这些文件可能都通过自己的帐户拥有,所以在第一次得分没有后顾之忧。但是,最安全的是tar c --lzma如果你拥有它,或者只是tar czfcjf。如果你有大量的小文件,乌姆,外部的(?)碎片高达块大小可能是显著。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top