Git HTTP和SSH 代理配置

阿壯Jonsson發表於2020-12-05

國內得gitee網速還好,pull push 一般都很快,但是github連線就非常不穩定。網上有很多教程,很少有靠譜的,自己嘗試了一番總結出來的。

兩種方式

  1. http/https
  2. ssh

兩種方式得區別

  1. clone: 使用ssh方式時,需要配置個人的ssh key,並將生成的ssh公鑰配置到git伺服器中。對於使用https方式來講,就沒有這些要求。
  2. push: 在使用ssh方式時,是不需要驗證使用者名稱和密碼,如果你在配置ssh key時設定了密碼,則需要驗證密碼。而對於使用https方式來講,每次push都需要驗證使用者名稱和密碼。

個人推薦使用ssh方式連線到GitHub感覺安全係數會高一些,而且還可以管理多個GitHub賬戶,可以參考一下方式進行配置。

git使用ssh方式連線github,gitee,可管理多個git賬戶
https://blog.csdn.net/y1534414425/article/details/109758866

設定代理

http/https

# HTTP 代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080

# Socks5 代理
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

注意這裡的 socks5 僅僅是代理使用的協議,它依然是針對 http 設定的,所以僅對 http 協議的倉庫有效。使用 git@xxx 這種 ssh 連線的不會使用代理。

也可以分域名設定代理:

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

SSH

SSH 代理需要在金鑰目錄 (~/.ssh) (Windows 下是 C:\Users\{UserName}\.ssh) 新建一個 config 檔案,沒有字尾名。

Windows

 -S 為 socks, -H 為 HTTP
ProxyCommand connect -S 127.0.0.1:1080 %h %p

如果找不到 connect 命令那麼指定其絕對路徑,一般在 git 安裝目錄下 \mingw64\bin\connect.exe

也可以分域名代理:

Host github.com
    ProxyCommand connect -S 127.0.0.1:1080 %h %p

所有的前提是你要有一個代理,且看個人手段,這裡手動滑稽!

相關文章