You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向GitHub推送项目时遭遇远程挂断错误,请求问题排查与解决

解决Git推送时的RPC failed & remote end hung up错误

这个问题我碰到过好多次了,从你给出的错误信息来看,核心问题是推送的数据量过大或者Git默认的HTTP传输缓存设置不足以处理这么大的推送包,导致中途连接被断开。咱们一步步来排查解决:

解决方案1:调整Git的HTTP推送缓存大小

你的推送包达到了45.18 MiB,Git默认的HTTP缓存可能不够用,先把缓存调大:

# 设置为500MB(对应字节数524288000)
git config --global http.postBuffer 524288000
# 或者直接设置为1GB
git config --global http.postBuffer 1073741824

设置完成后,重新执行推送命令:

git push -u origin main

解决方案2:检查并处理超大文件

GitHub限制单文件大小不能超过100MB,若项目里有接近或超过该阈值的文件,需要用Git LFS来管理:

  1. 先安装Git LFS(如果还未安装)
  2. 追踪你的大文件(把示例中的.zip换成你实际的大文件后缀):
git lfs track "*.zip"
  1. 重新提交相关文件:
git add .gitattributes
git add .
git commit --amend --no-edit  # 也可以新建commit:git commit -m "add LFS tracked files"
  1. 再次尝试推送

解决方案3:切换到SSH协议推送

HTTPS协议在传输大文件时容易出现连接不稳定的情况,换成SSH协议试试:

  1. 删除原来的HTTPS远程仓库:
git remote remove origin
  1. 添加SSH地址的远程仓库:
git remote add origin git@github.com:username/repo.git
  1. 执行推送命令

解决方案4:拆分提交分批推送

如果上面的方法都无效,试试把提交拆成小批次,先推小文件再处理大文件:

  1. 先添加并推送小文件:
git add 小文件路径1 小文件路径2
git commit -m "push small files first"
git push -u origin main
  1. 再单独处理大文件部分,重复添加、提交、推送步骤

错误原因解释

你看到的error: RPC failed; curl 18 transfer closed with outstanding read data remaining和fatal: the remote end hung up unexpectedly,本质是因为推送的数据包过大,GitHub服务器端或本地网络中途断开了连接,调整缓存、用LFS管理大文件、换协议都是围绕解决这个核心问题来的。

内容的提问来源于stack exchange,提问作者Ilham Bagus Bahrudin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:28:07