git clone 报错 RPC failed; curl 18 transfer closed with outstanding read data remaining
Posted 诗渊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git clone 报错 RPC failed; curl 18 transfer closed with outstanding read data remaining相关的知识,希望对你有一定的参考价值。
今天在 clone 一个gitlab 项目时,一直报错:
remote: Counting objects: 835, done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly MiB | 18.35 MiB/s
fatal: early EOF; 87%(727/835), 297.93 MiB | 18.35 MiB/s
fatal: index-pack failed
Google 了一下 主要是方案是以下两种:
一、增加缓冲区大小
git config --global http.postBuffer 524288000
git config --global http.maxRequestBuffer 524288000
二、 延长低网络的请求时长(这种主要发生在弱网情况)
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
笔者试了以上两种方法后依然没有解决,最后查看项目,因为是在内网中开发,为了方便同事快速启动项目,把对应的node_modules也压缩后加入到了版本控制,而且中间更换了几次node版本,猜测是因为这个导致的项目太大clone不下来,最后采取分步clone的方法:
(1) git clone --depth 1 your_repository_url
(2) cd your_repository
(3) git fetch --unshallow
如果(3)操作失败,可以分批次 fetch ,如下:
(4) git fetch --depth 10
(5) git fetch --depth 20
(6) git fetch --depth 40
具体commit数量可以根据自己项目情况来,如果操作失败,则适当减少,在最后感觉拉取差不多的时候,再执行(3)操作,这样就能正常把项目 clone 下来。
两点建议:
- 不要把类似node_modules压缩包这类大文件且没有版本管理意义的加入到版本控制中;
- 如果可以使用ssh,建议使用ssh,而不是使用http方式,使用ssh可以避开上述问题。
以上是关于git clone 报错 RPC failed; curl 18 transfer closed with outstanding read data remaining的主要内容,如果未能解决你的问题,请参考以下文章
git clone报错error: RPC failed; curl 18 transfer closed with outstanding read data remaining
使用git clone命令报错:error: 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 56 Recv failure....’ 的解决办法
git clone error:RPC failed; curl 18 transfer closed with outstanding read data remaining