1.报错情况
2.分析情况
- 推送的数据大于postBuffer的大小
- gitlab的nginx配置中,get请求使用的是HTTP/2协议,而post请求则使用的是HTTP/1.1协议,同时根据git报错信息curl 92 HTTP/2 stream 0 was not closed cleanly,怀疑是HTTP/2协议本身的bug
3.解决方案
-
修改配置:git config --global http.postbuffer 524288000
-
修改config文件 [http]
[http] postBuffer = 524288000 -
修改客户端git上传时所使用的http协议版本 git config --global http.version HTTP/1.1
-
vim ~/.gitconfig,使用终端命令查看是否更改。
注意:上述几种方案后用sourceTree都不行,直接用终端Git命令 git push(如果没有用上述方案,还是会报同样的错),或许有奇效。