You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Git Push至GitHub时出现RPC失败等错误,求技术解决方案

解决Git推送时的RPC failed & HTTP/2 PROTOCOL_ERROR问题

我之前也踩过这个一模一样的坑,大概率是HTTP/2协议兼容或者推送缓冲区不足的问题,试试下面这几个亲测有效的解决办法:

  • 切换到HTTP/1.1协议
    很多时候这个错误都是HTTP/2在特定网络或服务器配置下的兼容性问题导致的,先把Git的HTTP协议改成1.1试试:

    git config --global http.version HTTP/1.1
    

    改完之后重新执行你的推送命令git push origin feat/orders,如果成功了,后续要是想换回HTTP/2,再执行git config --global http.version HTTP/2就行。

  • 增大推送缓冲区大小
    从你给出的日志看,这次推送了134KiB的内容,不算特别大,但有时候Git默认的缓冲区不够也会触发远程挂断的错误。可以调整这两个参数:

    # 把HTTP推送缓冲区设置为500MB
    git config --global http.postBuffer 524288000
    # 关闭压缩,避免压缩过程中出现异常
    git config --global core.compression 0
    

    设置完成后再尝试推送。

  • 检查网络稳定性
    不稳定的网络连接也容易导致远程端意外挂断,试试切换到更稳定的网络(比如有线网络),或者重启一下路由器,再重新推送。

  • 同步本地与远程分支
    虽然日志提示"Everything up-to-date",但偶尔本地和远程的分支引用可能存在不一致,可以先拉取最新代码并合并:

    git pull origin feat/orders --rebase
    

    处理完可能的冲突后,再执行推送命令。

内容的提问来源于stack exchange,提问作者iamPavan

火山引擎 最新活动