前端开发

git clone 失败 fatal: early EOF fa

2019-03-23  本文已影响5人  李轻舟

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

上一篇 下一篇

猜你喜欢

热点阅读