Git 代理设置

2024 年 1 月 21 日 Git
多协议 Git 代理

开源社区 Github 在国内连接非常不稳定,因为某种网络限制,超时导致无法连接的情况时常发生。 其作为最大的全球开源协作平台,为确保随时都能稳定使用,就需要可以连接到 Github 的网络代理服务了。 当紧急情况需要下载所需代码时,而又一次次连接失败,简直太令人恼火了。

三种协议

Git 仓库托管服务,对于 Fetch 和 Push 通常会支持三种协议,分别为 GIT, SSH, 和 HTTP。其中 Git 和 SSH 属于同一种协议,只是 scheme 不同,但在设置时会有所区别。

代理设置

下面分别介绍两种常用协议 SSH 和 HTTP 的设置。

HTTP

仅需全局配置 Git 代理,HTTPS 或 SOCKS5 均可。 将 127.0.0.1:1080 替换为可用的代理服务地址。

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

SSH

编辑 ~/.ssh/config 文件,增加以下配置。-X 5 代表 SOCKS5 代理协议。 如果是使用其它 Git 托管服务,将 github.com 替换为对应服务域名。

Host github.com
    ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p