欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

关于 git 拉取项目时,报 RPC 失败;curl 18 传输已关闭,尚有未读数据。

最编程 2024-03-18 09:28:36
...

之前在从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