Git推送大提交时出现“error: RPC failed”报错求助
解决Git推送大文本文件时出现HTTP 502错误的问题
当推送包含数千行修改/新增的大型文本文件的提交时,出现以下错误:
git push Enumerating objects: 6, done. Counting objects: 100% (6/6), done. Delta compression using up to 8 threads Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 264.00 KiB | 3.34 MiB/s, done. Total 4 (delta 2), reused 0 (delta 0), pack-reused 0 error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 send-pack: unexpected disconnect while reading sideband packet fatal: the remote end hung up unexpectedly Everything up-to-date
已知背景:
- 推送小提交或删除大文件操作正常
- 仓库其他用户无此问题
- 已尝试增大
http.postBuffer - 使用Windows系统下的Git
可行解决方法
排查本地代理与防火墙
Windows系统的代理工具或防火墙可能拦截Git的大文件推送请求。先关闭所有代理(系统代理、第三方代理软件),临时禁用防火墙后重新推送。若成功,需在防火墙中添加Git程序的放行规则,或配置代理允许仓库域名通过。切换传输协议
若当前使用HTTP/HTTPS协议,尝试切换为SSH协议。先在远程仓库配置好本地SSH密钥,再修改本地仓库的远程地址:git remote set-url origin git@<仓库域名/地址>.git之后执行
git push重试。拆分大提交
将大型文本文件的修改拆分为多个小提交,比如每次提交几百行变更。使用git add -p命令交互式选择要提交的代码片段,逐步完成提交和推送。检查SSL配置
SSL证书异常可能导致大文件推送失败,可临时禁用SSL验证测试:git config --global http.sslVerify false若推送成功,需重新配置正确的SSL证书,或把仓库地址加入SSL信任列表。
更新Git版本
旧版Git可能存在大文件推送的兼容性问题,到Git官方渠道下载安装最新Windows版本后重试。
内容的提问来源于stack exchange,提问作者laurt
相关产品推荐
相关产品推荐

