当前 Git 主要与 SSH、HTTP/HTTPS 等协议来工作,经过一番了解,为 Git 配置代理,这几种协议的代理方式是不同的。另外代理也是主要有 2 种协议,一种是 HTTP/HTTPS,一种是 SOCKS,这里记录一下 Windows 和 Mac 系统下使用 SOCKS5 代理的方法。
Git SSH 协议配置使用代理
Mac 系统 Git SSH 配置方式
1.1 确认本地 Socks5 监听端口
这里以 Ss 为例,点击『Ss』图标,然后点击 『偏好设置』,点击『高级』后,可以看到 “本地 Socks5 监听端口”,我这里的 Socks5 监听端口为 1086 。
1.2 添加 config 配置
使用 vim 编辑 ~/.ssh/config 文件,添加如下配置内容:
Host gitlab.liubin0505.star
ProxyCommand nc -X 5 -x 127.0.0.1:1086 %h %p
Windows 系统 Git SSH 配置方式
2.1 Windows 首先需要确认安装了 Git Bash
Git Bash 下载地址: https://git-scm.com/downloads
另外需要说明的是 Windows 系统中使用 Ss 的 socks5 和 http 端口号是同一个,默认端口号为:1080
2.2 打开 Git Bash 终端,添加 config 配置
编辑 ~/.ssh/config,添加如下配置内容:
Host gitlab.liubin0505.star
ProxyCommand connect -S http://127.0.0.1:1080 %h %p
注:上述第二行参数中的 -S
表示使用的是 SOCKS 协议,如果使用 HTTP/HTTPS 协议,则可以换成 -H
参数
Git HTTP/HTTPS 协议配置使用代理
Git HTTP/HTTPS 配置代理,无论 Mac 还是 Windows 只需要先确认好 SOCKS5 监听端口,配置方式都是一样的。
这里以 SOCKS5 监听端口为 1080 为例,进入任意的代码仓库目录,执行如下命令:
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
注:命令中 --global
参数是针对全局开启!如果针对单个仓库的话,可以进入指定仓库目录下设置,同时去掉 --global
参数即可。
配置完成后,可执行 git config -l
命令打印的信息来确认。
如果要取消 Git HTTP/HTTPS 的 SOCKS5 代理:
git config --global --unset http.proxy
git config --global --unset https.proxy