当使用 VPN 时,流量通常会经过本地系统代理(例如 127.0.0.1:7890 或 127.0.0.1:7001)。如果 VPN 频繁切换节点,这个本地端口可能会发生变化,导致 Git 命令执行失败。

要解决这个问题,需要分别配置 Git 命令行工具 和 VS Code 编辑器

第一步:配置 Git 全局代理(解决终端报错)

打开终端(Terminal),执行以下命令(将端口号替换为你 VPN 当前的实际端口):

git config --global http.proxy http://127.0.0.1:7001
git config --global https.proxy http://127.0.0.1:7001

进阶技巧(推荐):避免每次手动修改

如果你的端口经常变动,可以使用 Git 的 include 机制,只需修改一个文件即可生效:

创建一个代理配置文件(例如 ~/.git-proxy),内容如下:

[http]
    proxy = http://127.0.0.1:7001
[https]
    proxy = http://127.0.0.1:7001

在全局配置中引用该文件:

git config --global include.path "~/.git-proxy"

以后只需修改 .git-proxy 文件里的数字,无需再敲命令。

第二步:配置 VS Code 代理(解决插件/API连接问题)

为了让 VS Code 内部的功能(如 GitHub Copilot、插件下载、REST Client)也能走代理,需要在设置中添加:

打开 VS Code 设置 (Ctrl+Shift+P -> Preferences: Open User Settings (JSON)), 添加:

{
  "http.proxy": "http://127.0.0.1:7001",
  "http.proxyStrictSSL": false // 如果遇到证书错误(自签名),可设为 false
}

验证连接

配置完成后,可以在终端运行以下命令验证 Git 是否连通:

git ls-remote https://github.com/microsoft/vscode.git