Repository navigation
git proxy usage
heyongxian edited this page Oct 15, 2025
·
1 revision
Git代理设置脚本是一个跨平台的命令行工具,用于快速配置和管理Git的HTTP/HTTPS代理设置。支持HTTP和SOCKS5代理协议。
python git_proxy.py- ✅ 智能检测: 自动检测当前Git代理设置状态
- ✅ 多协议支持: 支持HTTP和SOCKS5代理协议
- ✅ 交互式界面: 友好的中文交互界面
- ✅ 跨平台兼容: Windows/macOS/Linux全平台支持
- ✅ 默认配置: 提供常用的默认代理地址
- ✅ 完整功能: 支持设置、查看、取消代理
当系统未设置代理时,脚本会显示:
📋 当前Git代理设置:
----------------------------------------
❌ 未设置代理
----------------------------------------
🎯 请选择操作:
1. 设置代理
2. 退出
选择 1 设置代理,然后按提示输入代理地址。
当系统已设置代理时,脚本会显示:
📋 当前Git代理设置:
----------------------------------------
HTTP代理: http://127.0.0.1:10808
HTTPS代理: http://127.0.0.1:10808
----------------------------------------
🎯 请选择操作:
1. 取消当前代理设置
2. 重新设置代理
3. 退出
脚本支持以下代理地址格式:
-
HTTP代理:
http://127.0.0.1:10808或127.0.0.1:10808 -
SOCKS5代理:
socks5://127.0.0.1:10808 - 自动检测: 如果不指定协议前缀,脚本会提示选择协议类型
当输入不带协议前缀的地址时,脚本会提示选择:
🔧 请选择代理协议:
1. HTTP/HTTPS
2. SOCKS5
请输入选择 (1-2):
脚本会自动执行以下Git配置命令:
# HTTP代理示例
git config --global http.proxy 'http://127.0.0.1:10808'
git config --global https.proxy 'http://127.0.0.1:10808'
# SOCKS5代理示例
git config --global http.proxy 'socks5://127.0.0.1:10808'
git config --global https.proxy 'socks5://127.0.0.1:10808'git config --global --unset http.proxy
git config --global --unset https.proxy| 代理软件 | 默认地址 | 协议类型 |
|---|---|---|
| Clash | 127.0.0.1:7890 | HTTP |
| V2Ray | 127.0.0.1:10808 | HTTP/SOCKS5 |
| Shadowsocks | 127.0.0.1:1080 | SOCKS5 |
| 本地HTTP代理 | 127.0.0.1:8080 | HTTP |
- Python 3.6+
- Git (已安装并在PATH中)
- 支持的操作系统:
- Windows 10/11
- macOS 10.14+
- Linux (Ubuntu, CentOS, Debian等)
-
全局配置: 脚本使用
--global参数,会影响当前用户的所有Git仓库 - 权限要求: 无需管理员权限,仅修改用户级Git配置
- 网络环境: 确保代理服务器正常运行且端口可访问
-
退出方式: 使用
Ctrl+C可随时安全退出脚本
问题: 提示"未找到Git"
解决: 确保Git已正确安装并添加到系统PATH环境变量中
问题: 代理设置后仍无法访问远程仓库
解决:
- 检查代理软件是否正常运行
- 验证代理地址和端口是否正确
- 确认代理协议类型是否匹配
问题: SOCKS5代理无法工作
解决:
- 确保Git版本支持SOCKS5代理(Git 2.10+)
- 检查代理服务器是否支持SOCKS5协议
可以使用以下命令手动检查Git代理配置:
# 查看当前代理设置
git config --global --get http.proxy
git config --global --get https.proxy
# 测试Git连接
git ls-remote https://github.com/git/git.git如果只想为GitHub等特定网站设置代理,可以手动配置:
# 仅为GitHub设置代理
git config --global http.https://github.com.proxy http://127.0.0.1:10808
# 取消特定域名代理
git config --global --unset http.https://github.com.proxy对于单次Git操作,可以使用环境变量:
# 临时使用HTTP代理
https_proxy=http://127.0.0.1:10808 git clone https://github.com/user/repo.git
# 临时使用SOCKS5代理
https_proxy=socks5://127.0.0.1:10808 git clone https://github.com/user/repo.git