git clone时报错 提示 early EOF、The remote end hung up unexpectedly 、 index-pack failed等错误信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git clone时报错 提示 early EOF、The remote end hung up unexpectedly 、 index-pack failed等错误信息相关的知识,希望对你有一定的参考价值。

详细错误信息如下所示:
POST git-upload-pack (190 bytes)
POST git-upload-pack (199 bytes)
remote: Counting objects: 1413, done.
remote: Compressing objects: 100% (1309/1309), done.
fatal: early EOF
fatal: The remote end hung up unexpectedly
fatal: index-pack failed
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
git 未能顺利结束 (退出码 128) (95515 ms @ 2018/9/10 11:18:23)

另说明:1.要克隆的仓库文件总大小约为3.2G
2.按照其他百度的方案,设置
http.postBuffer 到1个G后,依然不行,超过1G后,就直接报内存溢出。此方案不可行。请不用重复回答此方案了。

Gitlab服务器环境是CentOS7+Gitlab7.2.1,最近发现在开发机上使用git pull更新文件时,会报如下错误。
fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: unpack-objects failed

使用git clone重新checkout源也受到影响,长时间checkout不出来,
Google了半天也没找到个好办法,最后还是查错误日志定位到了问题
在/var/log/gitlab/unicorn/unicorn_stderr.log中,发现如下的错误信息
E, [2014-12-06T09:13:10.319216 #11074] ERROR -- : worker=0 PID:11091 timeout (31s > 30s), killingE, [2014-12-06T09:13:10.336186 #11074] ERROR -- : reaped #<Process::Status: pid 11091 SIGKILL (signal 9)> worker=0I, [2014-12-06T09:13:10.340379 #11183] INFO -- : worker=0 spawned pid=11183I, [2014-12-06T09:13:10.340848 #11183] INFO -- : worker=0 read

看来是被Ruby误认为超时中断了。解决办法就是调大unicorn的timeout值。
修改/var/opt/gitlab/gitlab-rails/etc/unicorn.rb,将
# What the timeout for killing busy workers is, in secondstimeout 30
改为
# What the timeout for killing busy workers is, in secondstimeout 60

最后,运行
sudo systemctl restart gitlab-runsvdir.service

重启Gitlab。
之后客户端就可以正常Git pull或者clone了
参考技术A 远端仓库没有找到,请确认该路径是否真的存在git仓库,如果存在,请确认是否有权限fetch

git clone --early EOF

出现这个问题可能需要重新检查以下方面:

1. Android studio Git 的安装地址:  ..../Git/cmd/git.exe

记得在环境变量 --Path 中进行配置: ,..../Git/cmd

2. ssh 连接 github

进入 git 的安装目录下右键运行 Git_Bash,然后按照下面博客进行操作

http://blog.csdn.net/binyao02123202/article/details/20130891

3. 在输入 $ ssh -T git@github.com 命令测试 SSH KEY 时,如果出现以下错误:

no such identity: /c/Users/Administrator.PC-201608030926/.ssh/id_rsa.github:

需要在 C:\\Users\\Administrator.PC-201608030926\\.ssh 目录下添加 config 文件(如果存在的话直接修改)

在 config 文件中添加以下内容(id_rsa 为所生成的 SSH Key 文件名):

  Host github.com www.github.com
      IdentityFile ~/.ssh/id_rsa

  Host git.company.com
      IdentityFile ~/.ssh/id_rsa

出现 Permission denied (publickey),是由于多 SSH Key 导致的,也可以通过以上方法设置

4. 将 SSH Key 添加到 github 上

http://blog.csdn.net/vipzjyno1/article/details/22098621

5. ssh-add ~/.ssh/rsa 时报错:Could not open a connection to your authentication agent

先执行  eval `ssh-agent`  (是~键上的那个`) 再执行 ssh-add ~/.ssh/rsa成功
ssh-add -l 就有新加的rsa了

 

以上是关于git clone时报错 提示 early EOF、The remote end hung up unexpectedly 、 index-pack failed等错误信息的主要内容,如果未能解决你的问题,请参考以下文章

使用ED25519算法生成SSH密钥,解决git clone报错:early EOF fetch-pack: invalid index-pack output

git clone时报错Permission denied (publickey)

fatal: early EOF fatal: index-pack failed

git:early EOF the remote end hung up unexpectedly index-pack failed RPC failed; curl 56 OpenSSL SSL_

解决git clone时报错:The requested URL returned error: 401 Unauthorized while accessing

关于 用git clone 命令时报错RPC failed; curl 56 Recv failure....’ 的解决办法