配置 GitHub 访问:SSH、HTTPS 和 GitHub CLI

配置 GitHub 访问:SSH、HTTPS 和 GitHub CLI

本文介绍如何通过 SSH 和 HTTPS 协议配置 GitHub 访问,并使用代理优化连接。此外,还介绍了 GitHub 官方的命令行工具 GitHub CLI 的安装和使用方法。本示例假定您已在本地 127.0.0.1:10808 部署了 SOCKS5 代理,并在 127.0.0.1:1080 部署了 HTTP 代理。

准备工作

在开始之前,请确保完成以下准备:

  1. ​安装 Scoop(Windows 包管理器) ​:如果尚未安装,请按照 Scoop 安装指南 进行设置。

  2. 设置代理​:确保 SOCKS5 代理运行在 127.0.0.1:10808,HTTP 代理运行在 127.0.0.1:1080

  3. 注册 GitHub 账户​:在 GitHub 上创建账户。

  4. 安装 Git​:使用 Scoop 安装 Git:

    1
    scoop install main/git
  5. 配置 Git 用户名和邮箱​:设置全局 Git 用户名和邮箱,用于标识您的提交:

    1
    2
    git config --global user.name "您的名字"
    git config --global user.email "您的邮箱@example.com"

    验证配置是否正确:

    1
    2
    git config --global user.name
    git config --global user.email

通过 SSH 协议访问 GitHub

SSH 协议通过代理配置可以绕过网络限制,适合需要安全连接的场景。以下是配置步骤:

1. 安装 nmap(包含 ncat)

使用 Scoop 安装 nmap(包含 ncat 组件):

1
scoop install main/nmap

2. 配置 SSH 代理

编辑或创建 ~/.ssh/config 文件(Windows 路径通常为 C:\Users\<您的用户名>\.ssh\config),添加以下内容:

1
2
3
4
5
6
7
8
9
10
Host ssh.github.com
User git
HostName ssh.github.com
Port 443
ProxyCommand ncat --verbose --proxy-type socks5 --proxy 127.0.0.1:10808 %h %p

Host github.com
User git
HostName github.com
ProxyCommand ncat --verbose --proxy-type socks5 --proxy 127.0.0.1:10808 %h %p

说明​:

  • ProxyCommand 使用 ncat 通过 SOCKS5 代理连接 GitHub。
  • ssh.github.com 使用 Port 443 可通过 HTTPS 端口绕过某些网络限制。
  • 保存文件。在 Linux/macOS 上,需确保文件权限正确,运行 chmod 600 ~/.ssh/config(Windows 可忽略)。

3. 测试 SSH 连接

运行以下命令测试连接:

1
ssh -T git@github.com

如果配置正确,您将看到类似 Hi <您的用户名>! You've successfully authenticated... 的消息。

注意​:

  • SSH 连接可能因代理或网络环境而较慢。

通过 HTTPS 协议访问 GitHub

HTTPS 协议配置简单,适合快速设置。以下是配置步骤:

1. 设置 HTTP 代理

运行以下命令配置 Git 的全局 HTTP 代理:

1
git config --global http.proxy http://127.0.0.1:1080

2. 验证 HTTPS 连接

尝试克隆一个仓库以测试连接:

1
git clone https://github.com/<您的用户名>/<仓库名>.git

3. 关闭 HTTP 代理(可选)

如果不再需要代理,运行以下命令移除:

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

注意​:

  • HTTPS 通常比 SSH 更快,但可能受限于网络环境。测试表明,HTTPS 在某些情况下性能优于 SSH。

使用 GitHub CLI

GitHub CLI(gh)是 GitHub 官方提供的命令行工具,可简化仓库管理、拉取请求、问题跟踪等操作。

1. 安装 GitHub CLI

使用 Scoop 安装:

1
scoop install main/gh

2. 登录 GitHub CLI

运行以下命令登录您的 GitHub 账户:

1
gh auth login

按照提示选择 HTTPS 或 SSH 协议,并通过浏览器或令牌完成认证。

3. 常用 GitHub CLI 命令

  • 克隆仓库:
    1
    gh repo clone <您的用户名>/<仓库名>
  • 创建拉取请求:
    1
    gh pr create
  • 查看问题列表:
    1
    gh issue list

更多功能请参考 GitHub CLI 官方文档

性能对比与建议

  • SSH​:通过 ssh.github.com:443 和 SOCKS5 代理访问,适合需要高安全性的场景,但可能因代理或网络延迟较慢。
  • HTTPS​:配置简单,速度通常优于 SSH,适合大多数开发场景。
  • GitHub CLI​:结合 SSH 或 HTTPS,提供更高效的命令行工作流,推荐用于频繁操作 GitHub 仓库的用户。

常见问题

问:SSH 连接失败怎么办?
答:检查 ~/.ssh/config 配置是否正确,确认 SOCKS5 代理(127.0.0.1:10808)是否运行,并运行 ssh -vT git@github.com 查看详细错误日志。

问:如何查看当前的 Git 代理设置?
答:运行 git config --global --get http.proxy 查看 HTTP 代理配置。

问:GitHub CLI 是否需要代理?
答:是的,GitHub CLI 使用 HTTPS 协议,可通过 http.proxy 配置代理。

通过以上步骤,您可以灵活选择 SSH、HTTPS 或 GitHub CLI 访问 GitHub,优化您的开发工作流!