Git Push报错:RPC failed; curl 52 OpenSSL SSL_read: Connection was reset, errno 10054 解决方案咨询
解决Git推送时的 "error: RPC failed; curl 52 OpenSSL SSL_read: Connection was reset, errno 10054" 错误
这个错误我在日常推送代码时碰到过好几次,大概率是网络连接不稳、Git的HTTP缓存设置不足或者SSL配置出了问题,下面几个方法都是我亲测有效的,你可以挨个尝试:
1. 增大Git的HTTP POST缓存大小
有时候推送的代码包体积太大,默认的缓存容量撑不住就会导致连接中断。你可以通过这条命令调大缓存:
git config --global http.postBuffer 524288000
这个值对应500MB,如果你需要更大的缓存,比如1GB,可以改成1073741824。
2. 切换到SSH协议代替HTTPS
HTTPS连接容易受网络波动影响,换成SSH协议往往能解决这类连接重置问题。首先你得确保已经在Git仓库配置好SSH密钥,然后修改远程仓库的URL:
- 先查看当前的远程仓库地址:
git remote -v
- 如果显示的是HTTPS格式(比如
https://github.com/your-name/your-repo.git),改成SSH格式:
git remote set-url origin git@github.com:your-name/your-repo.git
记得把your-name和your-repo换成你自己的用户名和仓库名。
3. 临时关闭SSL验证(仅限紧急情况,用完记得恢复)
如果是SSL证书验证环节出了问题导致连接中断,可以临时关闭验证来完成推送:
git config --global http.sslVerify false
推送完成后一定要改回来,保证仓库连接的安全性:
git config --global http.sslVerify true
4. 检查并更换稳定网络
很多时候这个错误就是网络波动搞的鬼——比如公共WiFi信号弱、VPN不稳定。试试切换到有线网络,或者重启路由器,暂时关掉VPN再推送。
5. 更新Git到最新版本
旧版本的Git可能存在一些网络相关的bug,更新到最新版本说不定就能解决问题。你可以在Git Bash里输入这条命令查看当前版本:
git --version
然后去Git官方渠道下载最新版本安装即可。
6. 分段推送大文件(如果提交里包含大文件)
如果你的提交里有超过100MB的大文件,就算调大缓存也可能失败。这时候可以用git push --force-with-lease分段推送,或者考虑用Git LFS来专门管理大文件。
内容的提问来源于stack exchange,提问作者Salahuddin Ahmed




