Skip to content

git proxy usage

heyongxian edited this page Oct 15, 2025 · 1 revision

Git代理设置脚本使用指南

概述

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命令说明

脚本会自动执行以下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等)

注意事项

  1. 全局配置: 脚本使用 --global 参数,会影响当前用户的所有Git仓库
  2. 权限要求: 无需管理员权限,仅修改用户级Git配置
  3. 网络环境: 确保代理服务器正常运行且端口可访问
  4. 退出方式: 使用 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