使用 HTTPS 协议管理 Github 仓库

本文最后更新于 2025年5月15日 晚上

前言

在管理自己在 Github 上的项目时,一般是在本地配置和 Github 上配置好 SSH 协议,再通过 Git 命令去管理 Github 的项目,而且使用 SSH 协议去连接 Github 时不容易被神秘的墙阻挡。

但是,总有部分地区下使用 SSH 协议连接 Github 时会出现阻断,也就是被墙了。我试过配置 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY 环境变量,发现 SSH 在通信时不会理会这些代理变量去使用代理,我又尝试了使用 TUN 模式让 SSH 强行使用代理,但…SSH 竟然也不会使用代理!

上 Google 查了很多教程,发现 SSH 是不会使用这些代理的,需要额外进行配置才能使用,在~/.ssh/config中配置ProxyCommand。但是 ProxyCommand 需要依赖其他的软件来运行,而且在 Windows 中竟然要额外装一个软件才能使用,这什么玩意啊,配置代理要这么复杂,这不行…

尝试过《修复DNS污染导致无法通过ssh连接github的问题 - 团子的血域城堡》这里面的方法,似乎并没有起到什么作用。

SSH 协议只能到此为止了嘛,看起来只能转向使用 HTTPS 协议去管理 Github 项目了,这样就能使用代理,但…

用 HTTPS 协议去管理项目要输入用户名和密钥啊,这也不太行啊…

在绝望中翻着 Google 上的教程,煎熬…啊,在 Github 中的文档里终于找到了解决办法!

安装 Github CLI

Releases · cli/cli 中找到 windows amd64 installer 的版本,下载并安装。

GIthub CLI 安装非常简单的呢,无脑点击下一步就行了。

配置终端代理

因为要借助 HTTPS 协议和代理解决这个问题,所以配置终端代理也是很重要的呢,方法直接看这篇文章吧:《在终端中快速设置代理 - licyk的小窝

配置完成后在终端里可以使用一条命令快速设置代理。

  • PowerShell
1
Set-Proxy
  • MSYS2 / Git Bash / Linux Shell / Unix Shell
1
set_proxy

配置 Github CLI

配置好终端代理后,这样就可以愉快的连接上 Github,使用 Github CLI 也不会有什么网络错误的问题了。

在终端里输入下面的命令进入 Github CLI 的登陆界面。

1
gh auth login

运行后 Github CLI 会提示配置一些选项,使用方向键移动光标,Enter 键进行选择吧。

第一个选项是Where do you use GitHub? (你在哪使用 Github?)

选择Github.com就好了。

第二个选项是What is your preferred protocol for Git operations on this host? (你在这台电脑上进行 Git 操作时使用什么协议?)

前面说过要使用 HTTPS 协议来解决这个问题,所以选择HTTPS吧。

第三个选项是Authenticate Git with your GitHub credentials? (使用 Github 凭证验证 Git?)

这里就输入y吧。

最后一个选项是How would you like to authenticate GitHub CLI? (你怎么样去登陆 Github CLI?)

这里就选择Login with a web browser吧,方便。

回车后会显示First copy your one-time code (首先复制你的验证码),后面的代码就是你的验证码。

下面还提示Press Enter to open github.com in your browser... (请按下回车键在浏览器中打开 github.com ...),回车后就可以打开浏览器进入验证页面了。

如果没打开就手动在浏览器中打开https://github.com/login/device这个地址。

在 Github CLI 的验证页面中选择要使用的 Github 账号,点击账号右边的Continue (继续)来选择账号。

下一个页面就把在控制台那边的验证码输入进去吧。

最后点击Authorize github确认在 Github CLI 登陆 Github 账号。

看到这个页面就说明登陆 Github CLI 成功啦。

在 Github CLI 的界面也可以看到登陆成功的提示了。

使用 HTTPS 协议管理项目

打开一个终端,先使用代理配置命令配置一下代理,再试着使用 HTTPS 协议的地址下载项目。

现在使用 HTTPS 协议的地址来管理 Github 的仓库不再有任何验证提示了呢~

参考


使用 HTTPS 协议管理 Github 仓库
http://licyk.github.io/2025/05/14/manage-github-repo-with-https-url/
作者
licyk
发布于
2025年5月14日
许可协议