推送时,Git“efrror:RPC failed; result = 55,HTTP code = 0”

时间:2013-07-02 23:54:48

标签: git github push git-push

我花了一整天时间在这个上面,可以真正使用一些帮助。当我尝试推送一个相对较大的提交时,

Writing objects: 100% (21/21), 908.07 KiB | 0 bytes/s, done.
Total 21 (delta 17), reused 0 (delta 0)

git需要很长时间才能做出回应然后给出

"efrror: RPC failed; result=55, HTTP code = 0 
atal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date"

我搜索了这个错误代码,最可能的解决方案似乎是扩展缓冲区大小

git config http.postBuffer 524288000

我尝试过这个解决方案却没有成功。在VonC的建议之后,我尝试从http切换到ssh。从ssh开始,我会在同一时间长时间挂断。最终,出现以下错误消息

Read from remote host github.com: Connection reset by peer
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

这可能是路由器问题吗?我曾尝试从不同网络上的另一台计算机上推送,并且能够成功完成。

我在Windows主机上远离我的Linux机器并使用可怕的poshGit Windows PowerShell界面。

任何想法??

3 个答案:

答案 0 :(得分:5)

您可以按照BitBucket article

中的调试建议进行操作
  

具体来说,是“result=55”部分   这是来自 libcurl 的错误代码,这是与Git进行http通信时使用的基础库。从libcurl文档中,结果代码55表示:

CURLE_SEND_ERROR (55)
    Failed sending network data.

原因

  

这可能是由各种网络相关问题引起的,甚至是Bitbucket服务本身。它本质上意味着连接意外删除。需要检查的是尝试从任何企业防火墙或代理之外的“干净”网络上的机器进行推送。检查所有代理服务器以确保它们正确移动SSL数据并完全允许完成。

     

要帮助解决此问题,请尝试使用命令

运行推送
GIT_CURL_VERBOSE=1 git push

解决方法

  

如果在检查所有连接和代理配置后连接仍然一致失败,请报告上述信息以支持。然后切换到SSH 。我们有一个指南来设置Git at Set up SSH for Git。如果您在设置SSH时遇到任何配置问题,请参阅我们的SSH Troubleshooting guide

答案 1 :(得分:5)

由于配置错误,我遇到了这个问题,我指的是一个前缀为http://而不是https://的远程,这是SSL上提示的答案,这帮助我解决了我的问题。

所以应该编写我的远程配置:

$ git remote add origin https://github.com/jonasbn/perl-workflow.git

在:

$ git remote add origin http://github.com/jonasbn/perl-workflow.git

小心,

jonasbn

答案 2 :(得分:0)

它对我有用

我只是杀死终端,然后再次打开它并正常执行命令......

杀死终端

再次打开

git push -u origin master