文章

🌐 配置 Git 代理

配置 Git 使用代理的详细步骤

当您在克隆或从远程仓库获取数据时,很可能因为网络状况不佳遇到很慢甚至超时的情况,那么此时您可能需要配置 Git 的代理。


🛠️ 安装软件 netcat

以下是一些常见操作系统的安装方法:

  • Ubuntu/Debian:
    1
    
      sudo apt-get install netcat
    
  • CentOS/RHEL:
    1
    
      sudo yum install nmap-ncat
    
  • macOS:
    1
    
      brew install netcat
    

🍏 MacOS (Ubuntu) 使用方法

编辑 ~/.ssh/config 文件,添加以下内容:

1
2
3
Host github.com
    User git
    ProxyCommand nc -X connect -x 127.0.0.1:7890 %h %p

解释:

  • Host 后面的 github.com 是指定要走代理的仓库域名。
  • ProxyCommand 中,Linux 和 macOS 用户用的是 OpenBSD 版本的 nc
  • -X 选项后面接的是 connect,表示使用 HTTPS 代理。
  • -x 选项后面加上代理地址和端口号。
  • 在调用 ProxyCommand 时,%h%p 将会被自动替换为目标主机名和 SSH 命令指定的端口(%h%p 不要修改,保留原样)。

🐧 Linux (WSL) 使用方法

编辑 ~/.ssh/config 文件,添加以下内容:

1
2
3
Host github.com
    User git
    ProxyCommand nc --proxy 127.0.0.1:7890 --proxy-type http %h %p

解释:

  • Host 后面的 github.com 是指定要走代理的仓库域名。
  • ProxyCommand 中,Linux 用户用的是 Nmap 版本的 nc
  • --proxy-type 选项后面的 http 的意思是指使用 HTTP 代理。
  • 在调用 ProxyCommand 时,%h%p 将会被自动替换为目标主机名和 SSH 命令指定的端口(%h%p 不要修改,保留原样)。

🖥️ Windows 用户

编辑 ~/.ssh/config 文件,添加以下内容:

1
2
3
Host github.com
    User git
    ProxyCommand connect -H 127.0.0.1:7890 %h %p

解释:

  • Host 后面的 github.com 是指定要走代理的仓库域名。
  • ProxyCommand 中,Windows 用户用的是 connect
  • -H 选项的意思是 HTTP 代理。
  • 在调用 ProxyCommand 时,%h%p 将会被自动替换为目标主机名和 SSH 命令指定的端口(%h%p 不要修改,保留原样)。
  • 参考链接
本文由作者按照 CC BY 4.0 进行授权