【问题标题】:Recovering from a failed git repack due to lack of disk space由于磁盘空间不足而从失败的 git repack 中恢复
【发布时间】:2014-03-08 23:07:44
【问题描述】:

我正在使用一个磁盘配额非常小的系统 (5GB)。我有一些大型数据集,版本为git,我的磁盘配额开始用完。我的数据约为 2GB,我的 .git 目录也约为 2GB,所以我尝试重新打包

git repack -a -d --depth=250 --window=250

但我在重新打包时用完了配额

 $ git repack -a -d --depth=250 --window=250
 Counting objects: 5168, done.
 Delta compression using up to 48 threads.
 Compressing objects: 100% (3840/3840), done.
 fatal: fsync error on '.git/objects/pack/tmp_pack_W36UC8': Disk quota exceeded

现在我的配额已满,我无能为力。

我注意到有一些大的 .git/objects/pack/tmp_pack_* 文件的时钟刚刚超过 1GB,在我增加配额之前删除这些文件是否安全?

【问题讨论】:

标签: git


【解决方案1】:

您可以删除您的工作树,重新打包,使用 gc 等进行所有可能的修剪,然后再次结帐吗?

【讨论】:

  • 如果删除工作树后 repack 仍然空间不足怎么办?
  • 总会有一个限制,如果你只是没有磁盘空间,那你就不走运了。一些想法:1)您可以使用USB /拇指驱动器来帮忙吗? 2) 您是否有足够的 RAM 来创建可以在其上工作的 RAM 磁盘? (我的行业朋友拥有数十 GB 的 RAM) 3)您可以尝试使用 gc 的--aggressive 标志,它以更少的空间换取更多的时间 4)确保您正在修剪和收集所有可能的垃圾,即调整git 保留政策的下限从现在向后删除垃圾,而不是说,一个月前向后。
猜你喜欢
  • 2013-11-25
  • 1970-01-01
  • 2012-02-15
  • 1970-01-01
  • 2012-06-14
  • 2018-01-17
  • 1970-01-01
  • 2016-06-08
  • 2013-10-09
相关资源
最近更新 更多