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




