8

当我尝试推送到我的 bitbucket 存储库时,我收到以下错误。(事实上​​它在 GitHub 中也是一样的)。

计数对象:48,完成。
Delta 压缩最多使用 2 个线程。
压缩对象:100% (38/38),完成。
写入对象:100% (48/48),1.95 MiB | 38 KiB/s,完成。
Total 48 (delta 9), reused 0 (delta 0)
致命:远程端意外挂断
错误:RPC失败;结果 = 56,HTTP 代码 = 0
致命:在死处理程序中检测到递归
一切都是最新的

大多数情况下,我会遇到另一个错误,例如

错误:RPC 失败;result=56, HTTP code = 0
fatal: 远端意外挂断

无论哪种方式,PUSH 都会失败。我猜这仅适用于大文件。对于较小的更改,它可以正常工作。我已经更新http.postBuffer到2M了,还是不行。

重要 我有一个 3G 连接和一个基于 CDMA 的 EVDO 互联网连接。使用3G 连接,PUSH 和其他一切工作正常。但是使用 EVDO 我得到了上述错误。所以我的印象是,这是因为我的 EVDO 或 ISP 的一些连接问题。

我该如何解决这个问题?

4

6 回答 6

15

通常,远端挂断来自未经授权的用户。但是,如果您可以成功连接,那不是问题。

如果您真的认为这是文件大小问题,这是我最好的建议:

git 客户端开始“分块”请求的默认大小是 1MB。您可以使用以下方法更改此设置:

git config http.postBuffer 524288000

此示例将 postBuffer 设置为 500MB。玩弄这个值,看看它是否有帮助。

于 2013-04-09T15:02:52.667 回答
2

我用 bitbucket 遇到了这个问题,增加了postBuffer可能需要但没有解决问题。

我只能通过使用另一个互联网连接来解决这个问题。

这些是GIT_CURL_VERBOSE=1返回的错误:

* SSLRead() return error -9820
* Connection died, retrying a fresh connect
* Closing connection 0

进而

* SSLWrite() returned error -36
* Closing connection 1
error: RPC failed; result=55, HTTP code = 0
fatal: The remote end hung up unexpectedly

希望这可以帮助某人,也许有更多知识的人了解这些 SSL 错误?

更新:

我遇到的问题是最初git push进入回购协议,从那时起,我尝试使用原始互联网连接将相同的推送到同一个 bitbucket 回购协议中,并且它可以工作。

于 2016-02-12T12:52:14.590 回答
1

我遇到了同样的问题,这是因为我的推送包含一些大文件。显然 github 对单个文件大小有 100MB 的限制。我从我的提交中删除了大文件并重试了 git push 并且它起作用了。以下是有关尺寸限制的更多信息:

https://help.github.com/articles/what-is-my-disk-quota

于 2013-10-23T16:29:42.850 回答
1

原来这是 BSNL 的 EVDO 连接的问题。不幸的是,BSNL 的技术人员都无法帮助我。所以我放弃了连接。

回到良好的旧有线宽带:D。

于 2014-03-09T14:32:10.307 回答
1

当原因是一个巨大的文件并且http.postBuffer对您不起作用时,请尝试从 http 切换到 ssh(即ssh://git@<your git repository>)。这可能会让你越过你的障碍。

于 2016-04-14T14:46:15.210 回答
0

就我而言,我没有PRC错误,而是“client_loop:发送断开连接:对等方重置连接”,然后是“致命:远程端意外挂断”。我的解决方案是使用嵌套 VPN。我需要一个到 git repo 的 VPN 连接(因为它位于客户端防火墙后面)。

我首先将我的计算机连接到一个完全不同的 VPN。此 VPN 连接的类型为“IPv6、Layer3、UDP”。然后我设置了一个虚拟机,并将它与另一个 VPN 连接到目标网络。从这个虚拟机我可以成功推送。

于 2021-01-18T14:19:24.923 回答