致命的:早期的EOF致命的:索引包失败

我GOOGLE了,发现了很多解决scheme,但没有为我工作。

我试图通过连接到LANnetworking中的远程服务器从一台机器克隆。
从另一台机器运行此命令会导致错误。
但是在服务器上使用git://192.168.8.5 …来运行SAME克隆命令是可行的,并且是成功的。

有任何想法吗 ?

user@USER ~ $ git clone -v git://192.168.8.5/butterfly025.git Cloning into 'butterfly025'... remote: Counting objects: 4846, done. remote: Compressing objects: 100% (3256/3256), done. fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s fatal: early EOF fatal: index-pack failed 

我已经在.gitconfig添加了这个configuration,但也没有帮助。
使用git版本1.8.5.2.msysgit.0

 [core] compression = -1 

首先,closures压缩:

 git config --global core.compression 0 

接下来,让我们做一个部分克隆来截断信息量:

 git clone --depth 1 <repo_URI> 

当它工作时,进入新的目录并检索其余的克隆:

 git fetch --unshallow 

或者,或者,

 git fetch --depth=2147483647 

现在,经常拉:

 git pull --all 

我认为1.8.x版本的msysgit有一个小故障会加剧这些症状,所以另一个select是尝试使用早期版本的git(<= 1.8.3,我认为)。

这个错误可能会发生在内存需求的混帐。 您可以将这些行添加到您的全局gitconfiguration文件,即$USER_HOME文件,以解决该问题。

 [core] packedGitLimit = 512m packedGitWindowSize = 512m [pack] deltaCacheSize = 2047m packSizeLimit = 2047m windowMemory = 2047m 

当git内存不足时,我得到了这个错误。

释放一些内存(在这种情况下:让一个编译工作完成),并尝试再次为我工作。

在我的情况下,这是一个连接问题。 我连接到一个内部的无线networking,在这个networking中,我有限的资源。 这是让git做取,但在一定的时间,它坠毁。 这意味着它可能是一个networking连接问题。 检查一切是否正常运行:防病毒,防火墙等

因此,elin3t的答案很重要,因为ssh提高了下载的性能,避免了networking问题

我尝试了所有的命令,没有为我工作,但什么工作是改变git的URL为http而不是ssh

如果是克隆命令做:

 git clone <your_http_or_https_repo_url> 

否则,如果你正在拉动现有的回购,做到这一点

 git remote set-url origin <your_http_or_https_repo_url> 

希望这可以帮助别人!

在我的情况下,这是相当有帮助的:

 git clone --depth 1 --branch $BRANCH $URL 

这将仅限于提到的分支结账,因此将加快这一进程。

希望这会有所帮助。

这为我工作,设置谷歌名称服务器,因为没有指定标准名称服务器,然后重新启动networking:

 sudo echo "dns-nameservers 8.8.8.8" >> /etc/network/interfaces && sudo ifdown venet0:0 && sudo ifup venet0:0 

在我的情况下,协议是https时没有任何工作,然后我切换到SSH,并确保,我从最后提交的回购,而不是整个历史,还有特定的分支。 这帮助了我:

git clone –depth 1“ssh:.git”–branch“specific_branch”

这些都没有为我工作,但使用Heroku的内置工具做了伎俩。

 heroku git:clone -a myapp 

文档在这里: https : //devcenter.heroku.com/articles/git-clone-heroku-app

确保你的驱动器有足够的空间

从一个git克隆,我得到:

 error: inflate: data stream error (unknown compression method) fatal: serious inflate inconsistency fatal: index-pack failed 

重新启动我的机器后,我能克隆回购罚款。

请注意,Git 2.13.x / 2.14(2017年第3季度)的确会提高影响git fetch的默认core.packedGitLimit
在“ gc ”并行运行的情况下,在较大的平台( 从8 GiB到32 GiB )上提高了默认的packed-git限制值,以便从(可恢复)故障中保存“ git fetch ”。

参见David Turner( csusbdt ) 提交的be4ca29 (2017年4月20日) 。
帮助: 杰夫·金( peff ) 。
(由Junio C gitster合并- gitster -在承诺d97141b ,2017年5月16日)

增加core.packedGitLimit

core.packedGitLimit被超过,git将closures包。
如果有一个与取回并行的重新打包操作,取回可能会打开一个包,然后由于命中packedGitLimit而被迫closures它。
然后,重新打包可以将该包从提取下删除,导致提取失败。

增加core.packedGitLimit的默认值来防止这种情况。

在当前的64位x86_64机器上,有48位地址空间可用。
看起来,64位ARM机器没有标准的地址空间量(即不同的制造商),IA64和POWER机器有64位。
所以48位是我们可以合理关心的唯一限制。 我们为内核预留了一些48位的地址空间(这不是必须的,但最好是安全的),最多可以使用剩下的45个地址空间。
任何git仓库都不会在这个大的任何地方靠近这个地方,所以这应该可以防止这个失败。

如果你在Windows上,你可能想检查“索引包”失败的git克隆失败? 。

基本上,运行git.exe daemon ...命令后,从该控制台窗口中select一些文本。 重试拉/克隆,它可能只是现在工作!

看到这个答案更多的信息。

我有同样的问题。 在上面的第一步之后,我能够克隆,但是我什么也做不了。 无法取出,拉或检查旧分支。

每个命令的运行速度比平时慢很多,然后在压缩对象之后死亡。

我:\ dev [master +0〜6 -0]> git fetch –unshallow remote:计数对象:645483,完成。 远程:压缩对象:100%(136865/136865),完成。

错误:RPC失败; 结果= 18,HTTP代码= 20082 MiB | 6.26 MiB / s

致命的:早期的EOF

致命的:远端意外挂断

致命的:索引包失败

当你的裁判使用太多内存时也会发生这种情况。 修剪记忆为我固定这个。 只要添加一个限制,就像你这样 – > git fetch –depth = 100

这将获取文件,但在他们的历史上最后100个编辑。 在这之后,你可以很好的以正常的速度执行任何命令。