1、网上有很多说clone的时候也会报错,我是在push的时候才报错。
2、可能还会出现fatal: early EOF fatal: index-pack failed的报错 error: RPC failed; curl 56 SSLRead() return error -9820报错。
3、解决办法:
1⃣️、通过百度查找,有很多说法,第一个是因为git混存区过小,需要扩大缓存区,或推送文件过大。但是我推送的文件也就几兆我不知道是因为混存区小还是文件大的原因,但是我进行了修改混存区大小,两种方法:
第一种:
git config http.postBuffer 524288000
第二种:
windows:
在 .git/config 文件中加入
[http]
postBuffer = 524288000
第二种我没有试过。第一种修改成功。
2⃣️、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"
第一步使用env命令保证了忽略证书错误是单次行为,不会成为默认的设置。第二次,则把忽略证书错误的设置限定在特定的仓库,避免扩大该设置的适用范围而引起的潜在安全风险。
我是了很多办法,但是最后生效了,也许是因为这个问题,如果遇见同样的错误,可以优先尝试使用这个