问题
使用git bash 从github clone代码时遇到下面的错误
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
原因1
因为curl的postBuffer的默认值太小,导致溢出。(git 的 HTTP 底层是通过 curl 的。HTTP 底层基于 TCP,而 TCP 协议的实现是有缓冲区的)
说明git 仓库源文件过多,或者clone的一些文件过大。
解决
- 方案1
将postBuffer的大小改为500M(500*1014*1024 bit)
设置完后,用下面命令检查,git config --global http.postBuffer 524288000
会多一行上面的配置信息git config --list
http.postbuffer=524288000
- 方案2
如果方案1不行,可以考虑使用 浅克隆git clone http