「git Clone failed」RPC failed;errno 54
程序员文章站
2022-03-08 12:04:04
...
从github上使用https url clone一个比较大的项目,下载大小600M+
遇到错误:
Clone failed
RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
the remote end hung up unexpectedly early EOF index-pack failed
RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
the remote end hung up unexpectedly early EOF index-pack failed
记录下解决过程:
参照 https://blog.csdn.net/DJY1992/article/details/50604937
设置 comporession=-1,失败
参照 https://vnzmi.com/2017/01/08/git-early-eof-index-pack-failed/
设置增大内存缓存,失败
参照 https://github.com/lanlin/notes/issues/41
git 在 pull 或者 push 一个大项目时,可能会碰到出现如题所示的错误。
又或许是因为修改了太多的历史提交,一次性需要提交大量信息也可能会导致该情况。
解决办法(分两种)
网络上往往都会说这是由于大文件造成的提交或者拉取失败。
但是,经过本人测试。如果 errno 56,那么应该是有大文件或者提交缓存方面的问题。
而 errno 54 则不是这个问题。对于 56 错误的解决方式与网络上大部分文章的一致。
都是增大缓存配置,比如下面就是配置提交缓存为 500M。
git config http.postBuffer 524288000
git config https.postBuffer 524288000
对于 errno 54 这个错误,经尝试 http 或者 https 协议都无法正常提交。
必须改为 ssh 方式来提交代码。也就是必须使用公私钥的方式进行账号验证,并提交代码。
具体生成公私钥的方法,参见 github 帮助文档
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
同时找到 git config 当中的项目 url 配置项,改为 ssh 协议类型的项目地址。
例如:url = git@github.com:xxx/xxx.git
检测你的 git 版本是不是最新的。
你本身是否有这个项目的访问权限。
又或许是因为修改了太多的历史提交,一次性需要提交大量信息也可能会导致该情况。
解决办法(分两种)
网络上往往都会说这是由于大文件造成的提交或者拉取失败。
但是,经过本人测试。如果 errno 56,那么应该是有大文件或者提交缓存方面的问题。
而 errno 54 则不是这个问题。对于 56 错误的解决方式与网络上大部分文章的一致。
都是增大缓存配置,比如下面就是配置提交缓存为 500M。
git config http.postBuffer 524288000
git config https.postBuffer 524288000
对于 errno 54 这个错误,经尝试 http 或者 https 协议都无法正常提交。
必须改为 ssh 方式来提交代码。也就是必须使用公私钥的方式进行账号验证,并提交代码。
具体生成公私钥的方法,参见 github 帮助文档
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
同时找到 git config 当中的项目 url 配置项,改为 ssh 协议类型的项目地址。
例如:url = git@github.com:xxx/xxx.git
检测你的 git 版本是不是最新的。
你本身是否有这个项目的访问权限。
如果你开启了账户的双重验证、或者你准备 clone 的项目是一个开启了单点登录(SSO)的企业项目,那你必须要生成一个个人的 access token,而不能直接用密码访问。
如果你使用 ssh 来访问,你必须先生成 ssh key 公私钥匙对。
如你的目标项目的企业要求单点登录的,这个时候只能用 https 来访问,不能用 ssh.
更新mac上安装的git版本到最新
参照: https://help.github.com/cn/github/using-git/which-remote-url-should-i-use
https://help.github.com/cn/github/authenticating-to-github/connecting-to-github-with-ssh
使用SSH方式clone成功
上一篇: mysql sql 用户一天领取数计算
下一篇: 使用git提交代码至github
推荐阅读
-
git clone到本地是报错:fatal:out of memory malloc failed tried to allocate完美解决,我就是这样解决的,希望对你有用
-
git拉代码时报错error: RPC failed; curl 56 Recv failure: Connection reset by peer fatal: The remote end hu
-
windows下Idea使用git clone failed. Could not read from remote repository.
-
成功解决使用git clone命令克隆文件出现error: RPC failed; curl 18 transfer closed with outstanding read data remaini
-
RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 fatal: the remote end…解决办法
-
windows下Idea使用git clone failed. Could not read from remote repository.
-
「git Clone failed」RPC failed;errno 54
-
成功解决使用git clone命令克隆文件出现error: RPC failed; curl 18 transfer closed with outstanding read data remaini
-
git拉代码时报错error: RPC failed; curl 56 Recv failure: Connection reset by peer fatal: The remote end hu