git之fatal: The remote end hung up unexpectedly

背景

最近在用git clone源码的时候时不时就出现如下问题:

1
2
3
4
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
2
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly

然后就导致clone中断报错了

解决办法

经查询,基本上是在clone大项目的时候会遇到这个问题,由于git默认的缓存不足导致。可以在clone前配置下缓存:

1
2
git config http.postBuffer 524288000
git config https.postBuffer 524288000

如果想全局配置的话,可以加global参数:

1
2
git config --global http.postBuffer 1048576000
git config --global https.postBuffer 1048576000

配置之后,偶尔还是会出现这个错误,但情况会少很多。估计跟clone的是外网情况也有关系了,毕竟速度很低,要多试试了