在VS Code中无法推送新初始化的Git仓库至GitHub
解决Git推送至GitHub时出现的RPC failed; curl 92错误
以下是针对你遇到的error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)错误的可行解决方案,按优先级尝试:
1. 禁用HTTP/2,改用HTTP/1.1
该错误常与HTTP/2连接异常相关,先切换至HTTP/1.1尝试推送:
# 全局设置使用HTTP/1.1 git config --global http.version HTTP/1.1 # 执行推送 git push -u origin main # 推送成功后可改回HTTP/2(可选) git config --global http.version HTTP/2
2. 增大Git的HTTP缓冲区
你的推送包大小达151.59MiB,默认缓冲区可能不足以支撑,调整缓冲区参数:
# 设置HTTP推送缓冲区为500MB git config --global http.postBuffer 524288000 # 降低压缩率(避免因压缩耗时过长导致连接断开,可选) git config --global core.compression 1
设置完成后重新执行git push -u origin main。
3. 检查并处理大文件
GitHub默认限制单个文件大小不超过100MiB,你的推送包总大小超标,大概率包含超大文件。先定位大文件:
# 找出仓库中体积最大的文件 git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -1 | awk '{print $1}')"
找到大文件后,用Git LFS管理:
# 安装Git LFS(未安装时执行) git lfs install # 追踪目标大文件(替换为实际文件名或后缀,如*.zip) git lfs track "path/to/large-file.ext" # 添加Git LFS配置文件 git add .gitattributes # 重新提交文件 git add . git commit -m "Manage large file with Git LFS" # 执行推送 git push -u origin main
4. 切换至SSH协议推送
HTTPS协议可能因网络或认证问题导致连接中断,SSH协议稳定性更强:
- 在GitHub账户中添加本地SSH公钥(按GitHub官方流程配置即可)
- 修改远程仓库地址为SSH格式:
git remote set-url origin git@github.com:username/reponame.git # 执行推送 git push -u origin main
5. 排查网络环境
尝试切换网络(如从Wi-Fi换为有线网络),确保连接稳定;若处于网络限制环境,可配置适配的代理后再尝试推送。
内容的提问来源于stack exchange,提问作者Buzz B
相关产品推荐
相关产品推荐

