在 Windows 开发环境下,即便开启了代理软件,git clone 速度慢或报错几乎是每个人的必经之路。以下总结了如何配置 HTTPS 和 SSH 双协议代理,并解决 VS Code (PowerShell) 与 Git Bash 环境冲突的恼火问题。
1. 一些前置知识
代理软件(如 Clash Verge)通常在本地开启一个“出口”。
- 本地地址:
127.0.0.1 - 本地端口: 常用为
7890或7897(如何确认?设置->代理->编辑,以下教程认为是127.0.0.1:7897)。

2. HTTPS 协议代理:最简单的提速方案
适用于链接以 https://github.com/... 开头的仓库。
配置命令
在终端执行以下命令(以端口 7897 为例):
# 设置全局代理(推荐使用 socks5,更稳定)
git config --global http.proxy socks5://127.0.0.1:7897
git config --global https.proxy socks5://127.0.0.1:7897
# 解决常见的 SSL 握手重置问题
git config --global http.sslBackend openssl3. SSH 协议代理:解决 git@github.com 报错
需要注意的是,SSH 协议不走 Git 的全局代理配置,必须手动修改 ~/.ssh/config 文件。以下是参考的config内容:
Host github.com
HostName github.com
User git
ProxyCommand connect -S 127.0.0.1:7897 %h %p这样git在访问github时就会走127.0.0.1:7897代理,现在在git bash里登入git并键入以下命令: ssh -vT git@github.com。如果出现了类似以下的图片,那么你就可以通过git bash进行push了

遇到的坑:为什么 VS Code 报错,Git Bash 却正常?
如果你在 config 里只写 ProxyCommand connect...,Git Bash 能识别(因为它内置了路径),但 VS Code 的 PowerShell 会报错:posix_spawnp: No such file or directory。这对于哪些希望在VSC里进行推送的是一个大麻烦,这里的原因是vsc使用的是cmd而git使用的是bash(linux),所以我们需要将connect加入win系统的path。
还有个比较坑的点,关于win和linux路径的问题:
| 环境/标准 | 路径分隔符 | 盘符表示法 | 典型示例 |
| Windows 原生 (CMD/PS) | \ (反斜杠) | C:\ | C:\Program Files\Git |
| Git Bash (Linux 风格) | / (正斜杠) | /c/ | /c/Program Files/Git |
| 跨平台通用 (SSH Config) | / (正斜杠) | C:/ | "C:/Program Files/Git" |
关于win和linux下的路径,者里也总结了一篇简单的博客:link here
完美兼容方案
- 添加环境变量: 将 Git 安装目录下的
mingw64\bin和usr\bin加入 Windows 系统环境变量Path中。 - 修改配置文件: 编辑
C:\Users\用户名\.ssh\config:
Host github.com
HostName github.com
User git
# 关键:由于已加环境变量,直接调用 connect,无需写死容易出错的绝对路径
ProxyCommand connect -S 127.0.0.1:7897 %h %p4. 验证与调试
配置完成后,请务必在 VS Code 终端进行以下测试:
- 测试 HTTPS 连接:
curl.exe -I https://github.com看到 HTTP 200 即代表成功。 - 测试 SSH 连接:
ssh -T git@github.com看到 “Hi [YourName]! You’ve successfully authenticated” 即代表代理成功。