git pull或git clone报错:error: RPC failed; curl 18 transfer closed with outstanding read data remaining
问题描述:
某天上午来了公司拉取新代码git pull,报错:
remote: Enumerating objects: 9284, done. remote: Counting objects: 100% (9284/9284), done. remote: Compressing objects: 100% (6544/6544), done. error: RPC failed; curl 18 transfer closed with outstanding read data remaining error: 7673 bytes of body are still expected fetch-pack: unexpected disconnect while reading sideband packet fatal: early EOF fatal: fetch-pack: invalid index-pack output
处理过程:
从网上查询试过很多办法,比如:
步骤1:因为curl的postBuffer的默认值太小,我们需要调整它的大小,我设置成500M,甚至设置成更大,但是没有效果。
git config --global http.postBuffer 524288000
步骤2:实在没办法了,蠢方法1,删除了项目重新clone,结果不行,clone不下来,报一样的错。
步骤3:蠢方法2,又重新安装了下git,也不好使。
步骤4:从stackoverflow看到的处理方法,但是在第一行命令就失败了,gameover.
git clone http://github.com/large-repository --depth 1 cd large-repository git fetch --unshallow
步骤5:到现在已经快崩溃,放弃了挣扎,想着下载ZIP包,然后再关联(公司自己搭建的gitlab)。结果下载ZIP失败,显示网络错误,到这我就知道是服务器的问题了。去找运维查了下,发现服务器内存满了(mmp~)。增加了内存,好了。