我遇到了推送到Github的503错误:
$ git push github develop
Counting objects: 22, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (22/22), 4.16 KiB | 0 bytes/s, done.
Total 22 (delta 16), reused 0 (delta 0)
error: RPC failed; HTTP 503 curl 22 The requested URL returned error: 503 Service Unavailable
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
我检查了他们的status page和“所有系统运行”,所以我认为它必须是我的配置。我的.gitconfig
文件只有我的姓名和电子邮件:
[user]
name = Bradley Wogsland
email = <omitted>
(我在这里省略了我的真实电子邮件,但在实际文件中它已存在)。
答案 0 :(得分:5)
我遇到了同样的问题并通过将Git缓冲区大小增加到我的repo的最大单个文件大小来修复它:
git config --global http.postBuffer 157286400
Atferwards,我可以在任何问题上执行推送请求:
git push
以下是Bitbucket Support的一个很好的解释:
&#34;智能HTTP&#34; Git中的协议使用&#34;传输编码:chunked&#34;在POST请求中,它包含大小超过1MB的打包对象。
某些代理服务器(如Nginx)默认情况下不支持此传输编码,请求将在到达Bitbucket Server之前被拒绝。因此,Bitbucket Server日志不会显示任何额外信息。
另一个可能的原因是负载均衡器配置错误。
当推送大量数据时(初始推送大型存储库,使用非常大的文件进行更改)可能需要在git客户端(而不是服务器)上设置更高的http.postBuffer设置。来自https://www.kernel.org/pub/software/scm/git/docs/git-config.html
http.postBuffer 将数据发布到远程系统时,智能HTTP传输使用的缓冲区的最大字节数。对于大于此缓冲区大小的请求,使用HTTP / 1.1和Transfer-Encoding:chunked来避免在本地创建大量包文件。默认值为1 MiB,足以满足大多数请求。
反向代理上的配置。通常ngnix参数client_max_body_size是一个阻止程序。反向代理也可能具有关闭连接的连接超时(例如,apache中的TimeOut或ProxyTimeout,ngnix中的proxy_read_timeout)。尝试直接推送到Bitbucket Server IP:端口绕过代理。如果这样做,代理服务器极有可能导致早期断开连接,需要进行调整。
用户正在他的计算机上使用导致该问题的出站代理。
将Git缓冲区大小增加到repo的最大单个文件大小: git config --global http.postBuffer 157286400
有关ngnix反向代理配置,请参阅Git push fails - client intended to send too large chunked body的分辨率。将此参数增加到您的仓库的最大单个文件大小。
答案 1 :(得分:0)
我遇到了同样的问题。尝试将我的全局电子邮件设置为我帐户的电子邮件,
git config ---global user.email MY_GIT_EMAIL
然后尝试
git push
对我有用。