2011-10-09 88 views
11

我试图把我的代码放到github上,但几乎每次我遇到这个错误RPC失败;结果= 28,HTTP代码= 0

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可以解决问题。但即使在我执行了这个命令后,我仍然遇到了这个问题。

回答

27

使用git://或混帐+ SSH://,没有使用https

+0

不错。这工作。我使用了https,因为由于某些原因,ssh无法与我的办公代理一起使用。上面的错误只发生在我在我家工作的时候。 由于远程URL可以很容易地从git切换到https,反之亦然,这个解决方案非常棒。 谢谢。 –

+3

有没有解释为什么https网址发生错误? –

+0

对不起,没有发现从github男孩,但麻烦追溯到过去很长一段时间用单一的配方修复 –

0

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

也许这取决于在网络上的情况?

做了“推”更多次,它适用于我。 (推总共5次,2次成功)

顺便说一句,我使用的“https_proxy”环境变量,而不是“HTTP_PROXY”

0

即错误代码是客户端上的超时错误。尽管我怀疑服务器端正在按照消息的建议关闭。为了试图让你可以尝试设置环境变量GIT_CURL_VERBOSE=1为您推送如信息

GIT_CURL_VERBOSE=1 git push origin

这可以给你的是否是客户端超时或服务器断开,一个指示是原错误。你可能会做很多事情来确保你并不总是遇到这个错误。

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

大的库

对于点2。有一些事情,如果你怀疑你是推包是大对象,你可以做。这个博客帖子是关于这个问题相当详细:

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

我不认为http.postBuffer是真的在这里的解决方案。

0

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

0

在接受的答案中提到,没有必要在这里使用SSH。最近陷入了同样的问题。提高的Http默认1 MIB缓冲区大小为较大的值:

git config --global http.postBuffer 1048576000 

然后尝试git push remote branch_name

希望它有助于某人。

相关问题