致命的:早期的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个编辑。 在这之后,你可以很好的以正常的速度执行任何命令。