Git报错:Github port 443 : Timed out解决方法总结

再使用Git克隆项目时遇到了这个问题,总是timeout连接不上GitHub,弄得我这是焦头烂额,如图所示。

 我在网上查找解决方法,试验了几种方法。

解决方法——2024.01.06

1. 检查网络连接

首先,确保您的计算机正常连接到网络。请检查网络连接是否正常,并尝试通过其他网站验证您的网络连接是否稳定。

2. 检查防火墙设置

防火墙设置可能会阻止 Git 与 github.com 建立连接。您可以尝试在防火墙设置中添加例外规则,允许 Git 与 github.com 进行通信。具体步骤可能因操作系统而异,您可以根据您所使用的防火墙软件进行相应的设置。

下面以 Windows 操作系统为例,演示如何添加防火墙例外规则:
1. 打开控制面板,选择“Windows 防火墙”选项。
2. 在新窗口中,点击“高级设置”。
3. 在左侧面板中,选择“入站规则”。
4. 在右侧的面板中,点击“新建规则”。
5. 在弹出的向导中,选择“端口”选项,并点击“下一步”。
6. 选择“特定本地端口”选项,输入“443”,并点击“下一步”。
7. 选择“允许连接”选项,并点击“下一步”。
8. 在需要应用此规则的网络类型上选择“公共”和“专用”网络,并点击“下一步”。
9. 输入规则名称,如“允许 Git 连接 github.com”,并点击“完成”。

3. 更改 Git 的远程 URL

如果上述方法仍然无法解决问题,您可以尝试修改 Git 的远程 URL。在命令行中运行以下命令:

git remote set-url origin https://github.com/your-username/your-repo.git

将 your-username 替换为您的 GitHub 用户名,your-repo 替换为您的仓库名称。

4. 尝试使用 SSH 连接

如果以上方法均无法解决问题,您可以尝试使用 SSH 连接到 github.com。SSH 连接使用 SSH 密钥进行身份验证,可以提供更安全和稳定的连接。

首先,确保您已经生成了 SSH 密钥。如果没有,请按照 GitHub 的文档生成 SSH 密钥并添加到您的 GitHub 帐户中。

然后,在您的本地仓库中运行以下命令,将远程 URL 更改为 SSH URL:

git remote set-url origin git@github.com:your-username/your-repo.git

同样,your-username 替换为您的 GitHub 用户名,your-repo 替换为您的仓库名称。

示例说明

假设您之前使用的是 HTTPS URL 进行 Git 操作,并且遇到连接超时的问题。您可以尝试使用 SSH URL 进行操作,具体步骤如下:

  1. 生成 SSH 密钥并添加到 GitHub 帐户。
  2. 打开命令行或终端,并进入您的本地仓库所在的目录。
  3. 运行以下命令,将远程 URL 更改为 SSH URL。
git remote set-url origin git@github.com:your-username/your-repo.git
  1. 再次尝试进行 Git 操作,如 git push 或 git clone

但是以上几种方法都没能解决我的Git克隆项目时的timeout问题,最终我找到了以下方法解决了我的问题。

1、打开代理页面

 

打开 设置 --> 网络与Internet --> 查找代理

记录下当前系统代理的 IP 地址和端口号

2、修改 Git 的网络设置

# 注意修改成自己的IP和端口号
git config --global http.proxy http://127.0.0.1:7890 
git config --global https.proxy http://127.0.0.1:7890

完结撒花

可以重新 clone 尝试了。当我们访问GitHub的时候一般都会使用梯子,所以往上推代码的时候也是需要梯子,没有梯子推送成功概率很低,一般都会报错超时,所以设置梯子提高访问成功率;

取消代理是因为,访问 Gitee 或其它是不需要梯子,所以要取消代理;或者后悔设置代理了,也可以利用此取消。

# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

# 查看代理
git config --global --get http.proxy
git config --global --get https.proxy

问题重现——2024.01.07

就在我以之前的方法解决完克隆项目出现443端口timeout时,我以为问题全部解决了,结果今天在使用git时又出现了timeout。

如下描述:Failed to connect to 127.0.0.1 port 31423 after 2073 ms: Couldn't connect to server

我蒙了,到底为什么我就是连接不上啊。

最终我发现了问题的原理。原来每次挂梯子网,软件就会更改我系统的端口号,这会导致的本机系统端口号和git的端口号不一致。这就导致我们连接不到github

解决方法就是在git中查看自己的git端口号,把他保持和梯子的端口号一致。

// 首先,查一下当前全局的 http 代理:
git config --global http.proxy
// 如果有代理,就取消
git config --global --unset http.proxy


// 再查 https 的代理:
git config --global https.proxy
// 同样的,有就取消
git config --global --unset https.proxy

//设置git端口号和上面的端口号保持一致(我的是31875)
git config --global http.proxy http://127.0.0.1:31875
git config --global https.proxy https://127.0.0.1:31875

  

 

posted @ 2024-01-06 19:15  玄修杰  阅读(3038)  评论(0编辑  收藏  举报