为什么普通代理对 Git 命令行无效?
很多新手开发者经常困惑:“明明我已经在浏览器里能正常打开 github.com 了,为什么在 VS Code 或终端里执行 git push 依然报错超时?”
原因在于操作系统架构层面的分工:
- 浏览器与普通应用:主动读取 Windows / macOS 的系统网络代理设置(注册表 / 系统网络偏好)。
- 底层命令行工具 (Git, Curl, Wget, Pip, Docker):为了性能与服务器运行环境一致性,默认完全忽略系统代理,直接向公网发起裸连接,从而撞上了网络阻断。
方案一:开启 TUN 模式(强烈推荐,一劳永逸)
这是目前最优雅的解决方案:
- 打开 Clash Verge Rev。
- 进入 「设置」,点击安装 Service Mode (服务模式)。
- 打开 「TUN 模式」 开关。
- 效果:系统会新建一个虚拟网卡,终端中的
git clone、npm install、pip install、cargo build将全部被透明加速,无需在每个开发工具里逐一配置代理端口。
方案二:为 Git 命令行单独配置本地代理
如果你不想开启 TUN 模式,可以直接通过 Git 配置文件指定本地代理通道。
开启 Git 代理:
# 设置 HTTP 代理(Clash Verge 默认端口为 7897)
git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897
取消 Git 代理(如果日后不再需要):
git config --global --unset http.proxy
git config --global --unset https.proxy
GitHub Release 资源下载加速
对于 github.com/releases 中的大型编译包(如几个 GB 的模型文件或安装包),可直接使用支持多线程下载的工具(如 IDM 或 Aria2),在下载工具内填入 127.0.0.1:7897 代理端口,即可跑满你的宽带上限。