Git错误:RPC失败;result=55,HTTP代码=200

4
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

所有现有的答案都涉及HTTP代码=0,而不是200。 通过增加http.postBuffer git config http.postBuffer 524288000可以解决0代码问题。 - Simon Robb
5个回答

4

我们最近遇到了这个问题,但以上的解决方法都没有解决。最后,我们一次推送几个补丁(二分法),直到找到一个导致问题的补丁。

服务器上的Git版本比我们本地的Git旧,不支持提交中的某个头文件。

检查是否受影响的简单方法是在存储库目录中运行git fsck。这将报告任何潜在的问题。


3

在我的情况下,这是由于GNUtls错误引起的,在运行后出现。

 GIT_CURL_VERBOSE=1 git clone https:<URL>

我的解决办法是使用openssl库构建git,而不是gnutls。对于Ubuntu系统,可以通过这个链接来实现这一点。
值得注意的是,我在公司代理后面,这可能是触发问题的原因。

3

同样的回答已经给出到另一个帖子中了。我不确定这个链接是否真的适用。 - mateuscb
1
这个解决方案已经修复了我的问题。现在,我使用ssh已经一个星期了,再也没有遇到过这个错误。SSH确实是一种应用协议。 - cuasodayleo

2

类似的问题,GIT_CURL_VERBOSE 没有提供太多帮助: `* SSLWrite() 返回错误 -98056),46.41 MiB | 785.00 KiB/s
  • 关闭连接 3 error: RPC 失败; result=55, HTTP code = 200`
- kenorb

0

这是一个奇怪的错误。当我将大型repo推送到GitHub时,我实际上也遇到了同样的问题。然而,错误55是一个CURL错误,基本上是在网络传输数据时出现问题。关键是,如果数据没有正确发送,CURL如何获得200响应?

我的唯一结论是我正在使用代理,并且代理向git返回了200响应,但代理本身在发送数据时出现了问题。我担心这只是一个有根据的猜测,但如果您可以使用SSH,那么您显然会绕过不良代理,因此我认为这是最好的解决方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接