首页 > 解决方案 > 无法将分支推送到 git,得到“RPC 失败 ... errno 10054”

问题描述

问题

尝试使用以下行push对分支进行更改: 但我不断收到以下错误: git
git push origin my-branch

>> git push origin my-branch

Counting objects: 616, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (611/611), done.
Writing objects: 100% (616/616), 207.46 MiB | 60.25 MiB/s, done.
Total 616 (delta 60), reused 63 (delta 5)
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

我试过的

  1. 我已经尝试使用以下命令 按照此处的建议使缓冲区更大:

git config http.postBuffer 524288000
git config --global http.postBuffer 1048576000
git config --global http.postBuffer 2097152000
git config --global http.postBuffer 4194304000

这都给出了完全相同的错误。

  1. 我尝试按照此处的建议设置以下配置,但也失败了:
git config --global http.postBuffer 500M
git config --global http.maxRequestBuffer 100M
git config --global core.compression 0

附加信息

更新

我使用.gitignore文件取消跟踪录音,并尝试再次推送,但现在它卡在了这个:

git push origin final-day
Counting objects: 631, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (623/623), done.
Writing objects: 100% (631/631), 207.47 MiB | 55.37 MiB/s, done.
Total 631 (delta 66), reused 63 (delta 5)

如果回购现在是一个正常的、不太大的回购,为什么会发生这种情况?

提前致谢!

标签: gitgithub

解决方案


错误号 10054 是WSAECONNRESET,表示连接被对端重置。这基本上意味着远程服务器或介于两者之间的东西故意以突然的方式关闭了连接。

这意味着 GitHub 可能关闭了连接,但它很可能是代理、网络过滤器(例如反色情过滤器)或防病毒程序。如果您启用了其中的一个或多个,请尝试禁用它们(或者,对于防病毒软件,将其完全删除,因为禁用它通常无效)或从其他位置连接。这绝对是一个网络问题,它是存在于 Git 和 GitHub 之间的网络堆栈中的问题。

一般来说,提高http.postBuffer对问题没有帮助,也不是一个好的解决方案,在这里也对你没有帮助。有很多答案都暗示了这一点,但除非您使用的是不理解的损坏的 HTTP/1.0 代理,Transfer-Encoding: chunked否则它不太可能做任何有用的事情。


推荐阅读