You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git push报错RPC failed curl 52 GnuTLS recv error (-110)问题求助

问题排查与解决方案

1 先修正本地仓库的暂存/提交状态

你中途中断git add .不会直接触发TLS类报错,但可能会有暂存区残留问题,先清理确认本地提交正确:

  • 执行git status查看暂存区状态,如果存在不需要提交的文件,执行git reset HEAD清空暂存区
  • 单独添加目标文件:git add 你要提交的文件名
  • 重新提交到本地分支:git commit -m "你的提交说明"
  • 执行git log origin/master..master确认提交记录存在,没有问题再处理推送报错

2 解决TLS连接中断报错

error: RPC failed; curl 52 GnuTLS recv error本质是当前设备和GitHub的HTTPS通信链路异常断开,其他设备可正常推送说明问题出在当前设备配置,按优先级尝试以下方案:

  • 方案1:调大git HTTP传输缓存
    即使是小文件也可能因为默认缓存阈值不足触发传输中断,执行命令调整到500M即可:
    git config --global http.postBuffer 524288000
    
  • 方案2:重置仓库远程链接
    先执行git remote -v查看当前远程地址:
    • 如果用的是HTTPS地址,重新绑定一次避免配置缓存问题:
      git remote set-url origin https://github.com/你的用户名/你的仓库名.git
      
    • 如果本地配置过SSH密钥,也可以直接换成SSH协议绕过HTTPS的TLS问题:
      git remote set-url origin git@github.com:你的用户名/你的仓库名.git
      
  • 方案3:排查当前设备网络配置
    • 如果你开了代理,执行git config --global --get http.proxy查看git的代理配置,和当前系统代理不一致的话重新设置:
      git config --global http.proxy 你的代理地址:端口
      git config --global https.proxy 你的代理地址:端口
      
      不需要代理的话执行命令清空配置:
      git config --global --unset http.proxy
      git config --global --unset https.proxy
      
    • 临时关闭当前设备的防火墙、安全防护软件测试,部分安全软件会拦截GitHub的HTTPS传输请求
  • 方案4:升级本地git和GnuTLS版本
    旧版本的git和GnuTLS库存在已知的TLS连接兼容性bug,升级到最新版即可解决

3 重新推送

以上配置调整完成后,执行git push origin master即可正常推送。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:06:03