git push到远程服务器出现RPC failed问题怎么解决
本篇内容主要讲解"git push到远程服务器出现RPC failed问题怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"git push到远程服务器出现RPC failed问题怎么解决"吧!
git提交报错
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413fatal: the remote end hung up unexpectedlyfatal: the remote end hung up unexpectedlyEverything up-to-date
解决方案
方案一:修改本地git postbuffer大小
git config --global http.postbuffer 524288000
方案二:修改项目.git/config文件,增加如下内容
[http] postBuffer = 524288000
方案三:用管理账号在gitlab中的Account and limit加大Maximum attachment size (MB)和Maximum push size (MB)
问题复盘
1、先看git push抛出来的问题
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
对我们有效的信息,预计就是413这个状态码,我们可以先从这个状态码入手
这个状态码的含义是
413 Request Entity Too Large
服务器拒绝解决当前请求,由于该请求提交的实体数据大小超过了服务器愿意或者者能够解决的范围。此种情况下,服务器可以关闭连接以免用户端继续发送此请求。
由状态码的含义,我们可以得出上传的代码可能过大。于是我让小伙伴看下,他上传的代码量有多少,好家伙,一共有4,50M的大小
2、处理方案
方案一:代码进行分批上传,不要一次性上传
小伙伴按这个方案果然处理了问题,但是他说这样好麻烦,总不能以后每次都要分批上传,这样提交代码的效率很低
方案二:增大http方式上传的大小
这个方案就是最开始的设置postbuffer,但问题就是不论用。后面就怀疑说是不是由于配置域名的起因,于是我就采用内网ip的方式直接去push代码,结果竟然可以了。
接着去ping下gitlab的域名,发现那个ip不是gitlab的内网ip,当然ping出来的也可能是外网ip,于是我就把ping出来的ip通过百度一下,显示该ip是本地局域网。
而后很自然的想到项目的gitlab是不是配置了代理商,接着就去问搭这个gitlab的前同事。果然他之前搭建这套gitlab采用nginx做了代理商,于是衍生出了第三种方案
方案三:修改nginx配置
在http的server节点中增加client_max_body_size,形如下
http: { server: { client_max_body_size: 200m; }}
方案四:用ssh提交代码
到此,相信大家对"git push到远程服务器出现RPC failed问题怎么解决"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!