3

尝试克隆一个裸存储库并收到以下错误消息。存储库相当大,总大小为 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

就像这篇文章中提到的

git repack 在远程主机上工作,没有错误。git gc 不工作,但以以下错误消息结束。

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

我能做些什么?

4

1 回答 1

5

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

[core]  
  packedGitLimit = 10m  
  packedGitWindowSize = 10m  

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

然后重新包装:

> git 重新打包

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

> git gc -- 激进的

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

于 2013-12-26T01:46:07.510 回答