git代理配置

HTTP形式

走http代理

git config --global http.proxy "http://127.0.0.1:8080"
git config --global https.proxy "http://127.0.0.1:8080"

# github

git config -global http.https://github.com.proxy "http://127.0.0.1:8080"

走socks5代理

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

# github
git config --global http.https://github.com.proxy "socks5://127.0.0.1:1080"

取消代理

git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset http.https://github.com.proxy

脚本

#!/bin/bash
# git 代理设置
# -p 配置全代理 -h 配置代理github -r 关闭代理 -l 显示配置信息

while getopts "p h r l" opt
do
	case $opt in
			p)
				git config --global http.proxy 'socks5://127.0.0.1:1080';
				git config --global https.proxy 'socks5://127.0.0.1:1080';
				echo "成功配置git代理为:socks5://127.0.0.1:1080"

				;;
			h)
				git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
				echo "成功配置github的git代理为:socks5://127.0.0.1:1080"
				;;
			r)
				git config --global --unset http.proxy;
				git config --global --unset https.proxy;
				git config --global --unset http.https://github.com.proxy;
				echo "成功取消git代理"
				;;
			l)
				git config -l
				;;
			?)
				echo "该脚本未定义该选项目"
				exit 1
				;;
	esac
done

SSH形式

修改 ~/.ssh/config 文件(不存在则新建):

# 代理地址
Host github.com
   HostName github.com
   User git
   # 走 HTTP 代理
   # ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8080
   
   # 走 socks5 代理
   # ProxyCommand nc -v -x 127.0.0.1:1080 %h %p