Git 代理设置

2023-05-01
标签: git

Git 代理

在大陆访问 Github 网站的时候经常会碰到众所周知的网络问题,这里记录下访问 Github 上的代码仓库的一些设置,这里假设已经有了一个代理在 http://127.0.0.1:18889

Http 代理

对于通过 http 方式访问代码仓库的可以在 git 设置如下:

git config --global http.proxy http://127.0.0.1:18889
git config --global https.proxy http://127.0.0.1:18889

这样设置后通过 http 访问代码仓库就会走代理渠道,如 git clone https://github.com/algony-tony/algony-tony.github.io.git

取消设置如下:

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

SSH 代理

对于我们常用的通过 SSH 来访问的方式通过上面的设置是不会走代理渠道的,这块代理需要在 SSH 上做下设置。

对于 linux,在文件 ~/.ssh/config 中添加如下代码,这里依赖 corkscrew 库,需要提前安装下 sudo apt install corkscrew

Host github.com
Hostname github.com
ServerAliveInterval 55
ForwardAgent yes
ProxyCommand /usr/bin/corkscrew 127.0.0.1 18889 %h %p

在 Windows 平台上也类似,在文件 C:\Users\你的用户名\.ssh\config 中添加如下代码,这里使用了 git bash 内置的 connect 命令。

Host github.com
HostName github.com
User git
ProxyCommand connect -H 127.0.0.1:18889 %h %p