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 方式,更加稳定,不需要额外代理配置。

相关推荐
小鸡脚来咯17 小时前
Git 新手入门指南
大数据·git·elasticsearch
一允1 天前
Git学习记录
git·学习
程序员果子1 天前
GraphRAG:让大模型在知识图谱中精准导航
人工智能·git·语言模型·aigc·知识图谱
与光同尘 大道至简1 天前
ESP32 小智 AI 机器人入门教程从原理到实现(自己云端部署)
人工智能·python·单片机·机器人·github·人机交互·visual studio
later_rql1 天前
【Git提交remote rejected】
git
a程序小傲1 天前
中国邮政Java面试被问:Netty的FastThreadLocal优化原理
java·服务器·开发语言·面试·职场和发展·github·哈希算法
wtsolutions1 天前
Real-World Use Cases - How Organizations Use Excel to JSON
json·github·excel
Tatalaluola1 天前
Git版本控制常用命令
git
我有酒两杯1 天前
记录一次git使用
git
caz281 天前
git bash突然ssh不能用了
git·ssh·bash