git clone失败了,git gc

时间:2013-01-09 12:34:43

标签: git

尝试克隆裸存储库并获取以下错误消息。 存储库相当大,总大小为3GB。我想克隆的客户端是MacOSX。

remote: Counting objects: 20118, done.
remote: Compressing objects: 100% (16577/16577), done.
error: pack-objects died of signal 9 3.49 MiB | 745 KiB/s     
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed

我在开始时也遇到了这个问题并用

修复了它
git config pack.windowMemory 5m
git config pack.packSizeLimit 10m

this帖子中提到

git repack在远程主机上运行,​​没有错误。 git gc无法正常工作,以下面的错误消息结束。

Counting objects: 20118, done.
Delta compression using up to 2 threads.
error: failed to run repack6551/16577) 

我该怎么办?

1 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。设置以下参数:

[core]  
  packedGitLimit = 10m  
  packedGitWindowSize = 10m  

[pack]  
  deltaCacheSize = 10m  
  packSizeLimit = 10m  
  windowMemory = 10m  

然后重新包装:

  

> git repack

最后使用--aggressive参数运行git gc:

  

> git gc --aggressive

它解决了我的问题。没有--aggressive参数,它对我没有用。请注意,我可以控制服务器,并且我在服务器上的repo中运行这些命令(在Debian机器上的Gitlab服务器实例上,以root身份,使用sudo -u git ...,以避免混乱文件所有权和权限)。如果您无权访问远程仓库,则该方法可能不适用。我的git版本是1.8.3。