Git 无法访问 GitHub(Recv failure: Connection was reset)问题解决教程

Git 无法访问 GitHub(Recv failure: Connection was reset)问题解决教程

在使用 Git 访问 GitHub 仓库时,如果遇到以下报错:

复制代码
fatal: unable to access '[https://github.com/xxx/xxx.git/](https://github.com/xxx/xxx.git/)': Recv failure: Connection was reset

说明本地 Git 无法通过 HTTPS 协议访问 GitHub。以下是排查与解决方法。


1. 浏览器能访问但 Git 不能

如果浏览器可以正常打开 https://github.com,但 Git 命令行失败,大概率是因为:

  • 浏览器走了代理
  • Git 命令行没有走代理

2. 为 Git 配置全局代理

如果你的代理运行在本地 127.0.0.1:7890,可以这样设置:

bash 复制代码
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

测试是否成功:

bash 复制代码
git ls-remote https://github.com/用户名/仓库名.git

如果能返回 HEAD 和 refs,说明连通了。


3. 只为 GitHub 配置代理

如果不想所有 Git 都走代理,可以只针对 GitHub:

bash 复制代码
git config --global http.https://github.com.proxy http://127.0.0.1:7890

4. 清除代理配置

如果代理不可用,Git 会报错。可以取消配置:

bash 复制代码
git config --global --unset http.proxy
git config --global --unset https.proxy

5. 改用 SSH 连接(推荐)

HTTPS 在某些网络环境下不稳定,SSH 更加可靠:

  1. 生成 SSH key(如果还没有):

    bash 复制代码
    ssh-keygen -t ed25519 -C "your_email@example.com"
  2. ~/.ssh/id_ed25519.pub 内容添加到 GitHub

    👉 GitHub SSH key 设置

  3. 修改仓库远程地址:

    bash 复制代码
    git remote set-url origin git@github.com:用户名/仓库名.git
  4. 测试:

    bash 复制代码
    ssh -T git@github.com

    成功会提示:

    复制代码
    Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

6. 常用检查命令

  • 查看代理配置:

    bash 复制代码
    git config --global -l
  • 测试 GitHub 连接:

    bash 复制代码
    curl -v https://github.com

总结

  • 能上 GitHub 但 Git 报错 → 代理问题
  • 解决方案 1:给 Git 配置代理
  • 解决方案 2:改用 SSH

推荐使用 SSH 方式,更加稳定,不需要额外代理配置。

相关推荐
Dontla31 分钟前
Github创建项目(创建仓库、新建项目、新建仓库)步骤
github
放下华子我只抽RuiKe535 分钟前
React 从入门到生产(七):性能优化实战
前端·javascript·人工智能·react.js·性能优化·前端框架·github
晓杰'1 小时前
Balatro后端进阶(2):基于GitHub Actions的CI自动化验证实现
websocket·ci/cd·typescript·node.js·自动化·github·nestjs
析数塔2 小时前
Codegraph 实战:用知识图谱让 AI 编程效率翻倍
人工智能·github
半个落月2 小时前
从零开始理解 Git 核心操作:告别单机开发的“原始时代”
git
东风破_2 小时前
别学 Git 命令了,先搞懂这仨区域:工作区→暂存区→仓库
git
戴国进2 小时前
详解Git的worktree实现多分支并行开发
大数据·git
葬送的代码人生2 小时前
别再「Ctrl+C/V」了!Git 开发必备技能,10 分钟告别单机码农
前端·github·代码规范
凌冰_2 小时前
Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path路径异常解决
git
码农翻身2 小时前
GitHub,2008年生,2048年卒
github