Git 报错 fatal: unable to access 'https://github.com/.../.git': Recv failure: Connection was reset
,通常是由于网络连接问题导致的。以下是一些常见原因及解决方法:
1. 检查网络连接
确保网络能够正常访问 GitHub。
在浏览器中访问 https://github.com
,检查是否能打开。
如果无法访问,可能是网络环境限制或 GitHub 被墙。
2. 配置代理
在国内网络环境下,可能需要配置代理来访问 GitHub。
步骤:
设置全局代理:
git config --global http.proxy http://<代理地址>:<端口>
git config --global https.proxy http://<代理地址>:<端口>
替换 <代理地址>
和 <端口>
为你的代理服务信息。
如果代理已失效,取消代理配置:
git config --global --unset http.proxy
git config --global --unset https.proxy
使用 GitHub 提供的镜像站点:
- 国内访问 GitHub 的替代镜像:
https://hub.fastgit.xyz/owner/repo.git
https://github.com.cnpmjs.org/owner/repo.git
将你的远程仓库地址替换为镜像地址。
3. 修改 DNS 设置
使用国内可用的 DNS 服务可能改善连接问题:
修改本地 DNS 为:
阿里 DNS:223.5.5.5
腾讯 DNS:119.29.29.29
Google DNS:8.8.8.8
修改 hosts
文件:
获取最新的 GitHub IP 地址(通过 ipaddress.com 或其他工具)。
编辑本地 hosts
文件:
sudo nano /etc/hosts
添加:
192.30.255.112 github.com
185.199.108.153 assets-cdn.github.com
保存并刷新 DNS 缓存。
4. 禁用 SSL 验证(临时解决方案)
如果是 SSL 问题,可以暂时禁用 SSL 验证:
git config --global http.sslVerify false
注意:禁用 SSL 验证会降低安全性,仅建议在测试环境下使用。
5. 更新 Git 版本
使用旧版本的 Git 可能导致与 GitHub 的协议不匹配。更新到最新版本:
Windows:下载 Git for Windows。
macOS:使用 Homebrew 更新:
brew update
brew upgrade git
Linux:
sudo apt update
sudo apt install git
6. 检查防火墙或杀毒软件
防火墙或杀毒软件可能阻止 Git 与 GitHub 的通信。
暂时关闭防火墙/杀毒软件,重新尝试。
7. 使用 SSH 代替 HTTPS
如果 HTTPS 连接不稳定,可以改用 SSH。
步骤:
生成 SSH 密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
添加公钥到 GitHub:登录 GitHub,进入 Settings > SSH and GPG keys。
添加生成的公钥(通常位于 ~/.ssh/id_rsa.pub
)。
配置远程仓库为 SSH:bash
复制代码
git remote set-url origin git@github.com:owner/repo.git
总结
上述方法可以有效解决 Git 的 Recv failure
问题。若仍然无法解决,可以结合以上方法尝试或提供更多上下文信息(如具体网络环境、代理配置)。
发布者:myrgd,转载请注明出处:https://www.object-c.cn/4660