Git在pull或者push时遇到网络代理问题

旧文

在执行 git pull 或者 git push 的时候遇到了两种报错:

error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)

或者

Failed to connect to github.com port 443 after 21052 ms: Could not connect to s erver

其实这都是git的端口与开的代理端口不一致导致的,只需要修改一下git的代理端口即可:

git config --global http.proxy 127.0.0.1:10809
git config --global https.proxy 127.0.0.1:10809

这里的端口号根据自己的代理软件实际情况来设置。

20250329更新

v7.9.3 版本的v2ray的端口已经更新为了http和socks混合端口,为 10808

HTTP/HTTPS 协议代理设置

# 设置 HTTP 代理
git config --global http.proxy http://127.0.0.1:10808

# 设置 HTTPS 代理
git config --global https.proxy https://127.0.0.1:10808

SOCKS5 代理设置

# 设置 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 --get http.proxy
git config --global --get https.proxy

取消代理设置

git config --global --unset http.proxy
git config --global --unset https.proxy

针对特定域名不使用代理

git config --global http.https://github.com.proxy ""

注意事项

  1. 127.0.0.1:10808 替换为你实际的代理服务器地址和端口
  2. --global 选项表示全局设置,如果只想对当前仓库设置代理,去掉该选项
  3. 在 Windows 上可能需要使用双引号包裹代理地址
  4. 某些网络环境下可能需要同时设置 GIT_SSL_NO_VERIFY=true 环境变量来忽略 SSL 验证
  5. http/https和socks5只需要设置一种即可,否则第二次设置的会被覆盖掉