Git 传输分两种协议,SSH和 http(s),设置代理也需要分两种。
http(s) 代理
Command Line
使用 命令行 模式,可以在Powershell中使用以下命令设置代理:
            
            
              bash
              
              
            
          
          $env:http_proxy="http://127.0.0.1:7890"
$env:https_proxy="http://127.0.0.1:7890"TortoiseGit

SourceTree

SSH 代理
在目录 【C:\Users\[用户名]\.ssh】下添加一个 config 文件,并在文件中添加以下配置
            
            
              bash
              
              
            
          
          Host github.com
  User git
  Port 22
  Hostname github.com
  IdentityFile "C:/Users/[用户名]/.ssh/id_rsa"
  ProxyCommand connect -S 127.0.0.1:7890 -a none %h %p
  TCPKeepAlive yes
PS
虽然使用SSH,但是因为Git拉取 子模块,LFS时使用的是http传输,所以在使用ssh克隆时,如果仓库中有子模块或者LFS,也需要同时设置http代理。