git clone 失败 fatal: early EOF fatal: the remote end hung up unexpectedly fatal: index-pack failed

git clone提示:

fatal: early EOF
fatal: the remote end hung up unexpectedly
fatal: index-pack failed
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

使用 git clone 克隆远程库时,出现了上述错误,网上找了很长时间的解决方案,很多解答都是运行以下命令:

git config http.postBuffer 524288000

git bash 上运行上述代码后仍未解决问题,因为此命令的目的是增加缓存空间到 500M,这是用于解决上传大小限制的问题,但并不能解决我们遇到的问题。

error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

查看了很多博客,最终确定,这个问题是:
SSL错误
因为服务器的 SSL 证书没有经过第三方机构的签署,所以才报错。
解决方案如下:
第一步,克隆远程仓库时,用 env 命令设置 GIT_SSL_NO_VERIFY 环境变量为 ”ture”,并同时调用正常的 git clone 命令。完整的命令如下:

env GIT_SSL_NO_VERIFY=true 
git clone https://<host_name/git/project.git

第二步,在克隆完毕的仓库中将 http.sslVerify 设置为 ”false”。完整的命令如下:

git config http.sslVerify "false"

点评:以上方法应该是 Git 处理可信任的 SSL 临时证书很好的方法,第一步使用 env 命令保证了忽略证书错误是单次行为,不会成为默认的设置。第二次,则把忽略证书错误的设置限定在特定的仓库,避免扩大该设置的适用范围而引起的潜在安全风险。

PS:百度错误信息得到的结果很奇怪,可能是因为错误信息长度的问题,查询到的结果都是解决文件大小限制的,后来仔细解读了一下错误信息才知道是证书的问题,查找问题之前一定要先做好准备工作。

参考文章:https://www.cnblogs.com/wangshuazi/p/9608060.html

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值