关于git拉取项目时,报RPC failed; curl 18 transfer closed with outstanding read data remaining错的解决方案

Posted 51net

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于git拉取项目时,报RPC failed; curl 18 transfer closed with outstanding read data remaining错的解决方案相关的知识,希望对你有一定的参考价值。

之前在从git远程库拉取项目的时候,出现了如上错误,因为拉取时间过长才报的错,所以猜测是内存或者项目过大导致的无法拉取,所以搜了搜,网上说是解决方案有三种,一种是增大缓存区;二是浅克隆,也就是说克隆的时候,先少克隆一些,比如只克隆每个文件只取最近一次提交,不是整个历史版本,三是换协议:具体解决方案如下:

一,加大缓存区
git config --global http.postBuffer 524288000
这个大约是500M
二、少clone一些,–depth 1
git clone https://github.com/flutter/flutter.git --depth 1
–depth 1的含义是复制深度为1,就是每个文件只取最近一次提交,不是整个历史版本。
三、换协议
clone http方式换成SSH的方式,即 https:// 改为 git://
例如git clone https://github.com/test/test.git
换成git clone git://github.com/test/test.git


记录一下今天在GitHub上拉取代码的报错及解决方法

原因可能有文件过大、网速太差、以及一些国外资源因为墙的因素影响等等

解决方式:
1、文件太大,解决方式为git添加 compression 配置项

git config --global core.compression -1
1
compression 是压缩的意思,从 clone 的终端输出就知道,服务器会压缩目标文件,然后传输到客户端,客户端再解压。取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1…9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,当然得到的文件会越小

2、可以增加git的缓存大小

git config --global http.postBuffer 1048576000 (1G)
1
3、配置git的最低速和最低速时间

git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999 单位 秒
1
2
global配置对当前用户生效,如果需要对所有用户生效,则用–system


 

以上是关于关于git拉取项目时,报RPC failed; curl 18 transfer closed with outstanding read data remaining错的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

git 拉取项目出现 RPC failed; curl 18 transfer closed with outstanding read data remaining的解决方案

git clone 报错 RPC failed; curl 18 transfer closed with outstanding read data remaining

git clone 报错 RPC failed; curl 18 transfer closed with outstanding read data remaining

关于项目启动报Command execution failed问题

Git 拉取Gitee仓库报错:“fatal: unable to access ''": Failed to connect to 127.0.0.1 port 1080:

使用git clone命令报错:error: RPC failed; curl 18 transfer closed with outstanding read data remaining(示例代码