RPC失败; result = 28,HTTP代码= 0

时间:2011-10-09 01:17:22

标签: git github

我正在尝试将我的代码推送到github,但几乎每次遇到此错误

error: RPC failed; result=28, HTTP code = 0
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

太烦人了。任何人都知道如何解决这个问题?

更新我用Google搜索后,我发现运行git config --global http.postBuffer 524288000可以解决问题。但即使在我执行该命令后,我仍然遇到了这个问题。

5 个答案:

答案 0 :(得分:27)

使用git://或git + ssh://,而不是https

答案 1 :(得分:1)

如接受的答案中所述,没有必要在这里使用SSH。最近陷入了同样的问题。将Http默认的1 MiB缓冲区大小增加到一个较大的值:

git config --global http.postBuffer 1048576000

然后尝试git push remote branch_name

希望它对某人有帮助。

答案 2 :(得分:0)

我遇到了同样的问题(在代理服务器后面工作,无法访问git://)

也许这取决于网络情况?

做“推”更多次,它对我有用。 (共推5次,2次成功)

不过,我使用的是“https_proxy”环境变量,而不是“http_proxy”

答案 3 :(得分:0)

该错误代码是客户端上的超时错误。虽然我怀疑服务器端正在关闭,因为消息表明。要尝试获取更多信息,您可以尝试为推送设置环境变量GIT_CURL_VERBOSE=1,例如:

GIT_CURL_VERBOSE=1 git push origin

这可以指示是客户端超时还是服务器断开连接是原始错误。您可以采取一些措施来确保您不会总是遇到此错误。

  1. 如果可以控制,请检查服务器端的超时。它们可能太小了。这取决于服务器实现。
  2. 检查存储库中的大文件,特别是二进制文件。这些可以不同的方式处理。
  3. 确保您不会无意中设置http.lowSpeedLimit,http.lowSpeedTime:默认情况下它们应该关闭(通过查看代码)。
  4. 大型存储库

    对于第2点。如果您怀疑正在推动的背包是大型物体,则可以执行许多操作。这篇博文非常详细地介绍了这个主题:

    http://blogs.atlassian.com/2014/05/handle-big-repositories-git/

    我认为http.postBuffer确实是一个解决方案。

答案 4 :(得分:0)

通常,这些错误条件和代码是由于网络配置错误或目前不可靠的互联网连接造成的。通常在几次尝试之后,一切都应该恢复正常。如果多次尝试后问题仍然存在,请尝试不同的连接协议。