与git有什么关系?
$ git push
Counting objects: 1431, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1326/1326), done.
Writing objects: 100% (1429/1429), 131.94 MiB | 15.41 MiB/s, done.
Total 1429 (delta 630), reused 0 (delta 0)
error: RPC failed; result=55, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
答案 0 :(得分:4)
我们最近遇到过这个问题,但上述都没有解决。最后,我们一次推送几个补丁(二进制印章),直到我们发现一个导致问题。
服务器上的Git版本比我们的本地Git旧,并且不支持提交中的一个标头。
查看这是否会影响您的一种简单方法是在存储库目录中运行git fsck
。这将报告任何潜在的问题。
答案 1 :(得分:3)
将协议git从https更改为ssh将解决此问题。 这是用于bitbucket的指南 https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git
答案 2 :(得分:3)
在我的情况下,这是由于GNUtls error,在运行
之后出现 GIT_CURL_VERBOSE=1 git clone https:<URL>
对我有用的解决方法是使用openssl库而不是gnutls构建git。对于Ubuntu系统this link提供了实现此目的的方法。
值得注意的是,我支持公司代理,这可能会引发问题。
答案 3 :(得分:2)
有关错误的一些信息:https://confluence.atlassian.com/pages/viewpage.action?pageId=301663267
(来自链接文章)尝试使用此命令获取有关错误的更多信息:
GIT_CURL_VERBOSE=1 git push
答案 4 :(得分:0)
这是一个奇怪的错误。当我把一个大型回购推送到GitHub时,我实际上得到了同样的结果。但是,错误55是CURL错误,它基本上是通过网络传输数据的问题。问题是,如果数据没有正确发送,CURL如何得到200响应?
我唯一的结论是我使用代理并且代理正在向git返回200响应,但代理本身在发送数据时遇到问题。我担心这是一个有根据的猜测,但如果你可以使用SSH,那么你显然会绕过狡猾的代理,所以我说这是最好的解决方法。