2013-01-09 261 views
3

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

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的重新包装工作的远程主机,没有错误的提及。 git gc不工作,但以下面的错误信息结束。

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

我该怎么办?

+2

你试过'git fsck'吗? – kerim

回答

4

我有同样的问题。设置以下参数:

[core] 
    packedGitLimit = 10m 
    packedGitWindowSize = 10m 

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

然后重新包装:

>混帐改装

,最后运行git GC上的--aggressive参数:

>混帐gc --gigressive

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