当前位置: 首页 > article >正文

Git 克隆问题排查与解决方案

问题 1:克隆时无法连接 GitHub

Cloning into 'OpenManus'... fatal: unable to access 'https://github.com/mannaandpoem/OpenManus.git/': Failed to connect to github.com port 443 after 21074 ms: Could not connect to server 克隆项目时

错误表明无法连接到 github.com 的 443 端口(HTTPS),超时约 21 秒。可能原因包括网络问题、防火墙限制或 GitHub 服务器状态。建议:

  1. 检查网络连接,尝试访问 https://github.com。

  2. 验证仓库地址是否正确。

  3. 检查 GitHub 状态:GitHub Status。

  4. 测试其他网络或使用 SSH:

    bash

    收起自动换行复制

    git clone git@github.com:mannaandpoem/OpenManus.git

  5. 调整 Git 配置或使用 curl -v 调试。


问题 2:如何为 Git 配置代理

我使用了代理,git应该如何配置代理

Git 支持通过 http.proxy 和 https.proxy 配置代理。步骤如下:

  1. 确认代理信息:例如 http://proxy.example.com:8080。

  2. 全局配置

    git config --global http.proxy http://proxy.example.com:8080 git config --global https.proxy http://proxy.example.com:8080

    • 带用户名密码:

      git config --global http.proxy http://user:pass@proxy.example.com:8080

    • SOCKS5 代理:

      git config --global http.proxy socks5://proxy.example.com:1080

  3. 单次命令

    git clone -c http.proxy=http://proxy.example.com:8080 https://github.com/mannaandpoem/OpenManus.git

  4. 环境变量

    export http_proxy=http://proxy.example.com:8080 export https_proxy=http://proxy.example.com:8080

  5. 验证

    git config --global --get http.proxy


问题 3:不设置代理会怎样

如果不设置代理

不设置代理时,Git 直接通过本地网络连接 github.com:

  • 如果网络无限制,克隆应成功。

  • 如果网络屏蔽 GitHub(常见于受限地区),会失败。 建议:

  1. 测试网络:ping github.com 和 curl https://github.com。

  2. 清除代理:

    git config --global --unset http.proxy git config --global --unset https.proxy

  3. 尝试 SSH:

    git clone git@github.com:mannaandpoem/OpenManus.git

  4. 修改 hosts 文件(临时绕过):

    140.82.121.3 github.com


问题 4:再次尝试克隆仍失败

$ git clone https://github.com/mannaandpoem/OpenManus.git Cloning into 'OpenManus'... fatal: unable to access 'https://github.com/mannaandpoem/OpenManus.git/': Failed to connect to github.com port 443 after 21059 ms: Could not connect to server 我都没有设置代理

确认未设置代理,但仍无法连接 443 端口。建议:

  1. 测试网络:

    ping github.com curl -v https://github.com

  2. 检查代理残留:

    git config --global --get http.proxy

  3. 使用 SSH(需配置密钥):

    ssh-keygen -t rsa -b 4096 -C "你的邮箱" git clone git@github.com:mannaandpoem/OpenManus.git

  4. 切换网络测试。


问题 5:Ping 测试结果

ping github.com 正在 Ping github.com [20.205.243.166] 具有 32 字节的数据: 来自 20.205.243.166 的回复: 字节=32 时间=185ms TTL=112 来自 20.205.243.166 的回复: 字节=32 时间=101ms TTL=112 来自 20.205.243.166 的回复: 字节=32 时间=138ms TTL=112 来自 20.205.243.166 的回复: 字节=32 时间=164ms TTL=112 20.205.243.166 的 Ping 统计信息:    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位):    最短 = 101ms,最长 = 185ms,平均 = 147ms

Ping 成功,说明网络可达 20.205.243.166,但 HTTPS(443 端口)可能被阻断。建议:

  1. 测试 HTTPS:

    curl -v https://github.com

  2. 检查本地防火墙。

  3. 再次尝试克隆或使用 SSH。


问题 6:Curl 测试结果

curl -v https://github.com * Host github.com:443 was resolved. * IPv6: (none) * IPv4: 20.205.243.166 *   Trying 20.205.243.166:443... * connect to 20.205.243.166 port 443 from 0.0.0.0 port 1113 failed: Timed out * Failed to connect to github.com port 443 after 21115 ms: Could not connect to server * closing connection #0 curl: (28) Failed to connect to github.com port 443 after 21115 ms: Could not connect to server是不是

域名解析成功,但 443 端口连接超时,确认网络屏蔽 HTTPS 流量。解决方案:

  1. 使用代理

    git config --global http.proxy http://127.0.0.1:1111 git config --global https.proxy http://127.0.0.1:111 git clone https://github.com/mannaandpoem/OpenManus.git

  2. 使用 SSH

    git clone git@github.com:mannaandpoem/OpenManus.git

  3. 切换网络。

  4. 修改 hosts(效果有限)。


总结

用户无法直接通过 HTTPS 克隆 GitHub 仓库,原因是网络屏蔽了 443 端口流量。Ping 成功但 HTTPS 失败表明限制针对特定端口。推荐解决方案:

  • 配置代理(需提供代理信息)。

  • 使用 SSH(需配置密钥)。

  • 切换无限制网络。


http://www.kler.cn/a/592035.html

相关文章:

  • HarmonyOS NEXT开发教程:加速web页面访问
  • ubuntu中的环境变量文件 bashrc、profile、environment简要总结
  • 确保刷新页面后用户登录状态不会失效,永久化存储用户登录信息
  • 大模型面试高频考点-显存占用
  • 大数据学习(72)-zookeeper选举机制
  • Linux top 命令详解:从入门到高级用法
  • Leetcode Hot 100 46.全排列
  • 在LORA训练中,LORA模型的矩阵的行列是多少
  • 《Python深度学习》第五讲:文本处理中的深度学习
  • [HelloCTF]PHPinclude-labs超详细WP-Level 1-FILE协议
  • fastapi+tcp+android在线聊天
  • Vue3是如何利用Proxy进行双向数据绑定的(二)?
  • 【开源免费】基于SpringBoot+Vue.JS智慧生活商城系统(JAVA毕业设计)
  • 从Excel文件中读取数据
  • Spring Boot 应用的接口访问从 HTTP 改为 HTTPS
  • 16. C语言二级指针
  • Kali Linux汉化教程:轻松设置中文界面
  • 【MySQL】关闭外键约束检查
  • 操作系统知识点32
  • Linux 部署 Spring Boot 项目, Web项目(2025版)