Git 命令行工具克隆 GitHub 仓库极慢的代理加速方法
在使用 git clone 或 git pull 与 GitHub 同步代码时,经常遭遇几 KB 每秒的极速或连接超时。这是由于 Git 命令行不自动集成操作系统的代理状态所致。
1. 针对 HTTPS 协议配置 Git 代理
如果你使用的是基于 HTTPS 的仓库链接(如 https://github.com/user/repo.git),你可以专门为 github.com 域名设置代理,避免干扰公司内网如 GitLab 等其他仓库。
假设您的本地代理 HTTP 端口为 7890:
git config --global http.https://github.com.proxy http://127.0.0.1:7890
git config --global https.https://github.com.proxy http://127.0.0.1:7890
你可以通过 git config --global -l 来确认代理已被正确写入。
2. SSH 协议连接的差异
请注意:上述配置仅对 HTTPS 协议有效。如果你的 Git 配置使用 SSH 密钥验证(仓库地址格式如 [email protected]:user/repo.git),Git 将通过 SSH 协议通信,这需要额外的底层配置。
对于 SSH 协议,您需要在 ~/.ssh/config 中针对 GitHub 域名使用 ProxyCommand(例如借助 nc 或 connect)来桥接流量。如果您遇到困难,最快的备用排查方案是将 Git origin 临时切换回 HTTPS 地址,并配合步骤 1 的配置来验证代理是否畅通。