配置代理以使用 Git
- Git 中支援的代理協議
- 在 Git 命令中使用 HTTP 代理
- 在 Git 命令中使用 HTTPS 代理
- 在 Git 配置檔案中永久配置代理
- 刪除 Git 儲存庫的代理設定
-
在 Git 中配置
SOCKS
代理
本文將討論配置 Git 以使用不同的代理。在公司防火牆後面工作時通常很難訪問 Git。
我們將介紹 Git 支援的一些代理,如何配置它們,以及如何將代理提供給我們的命令列以供一次性使用。讓我們直接開始吧。
Git 中支援的代理協議
Git 支援以下代理:
- HTTP
- HTTPS
- SOCKS4
- SOCKS5
在 Git 命令中使用 HTTP 代理
我們通常編輯 Git 配置檔案以使用代理。但是,Git 允許我們將代理提供給終端以便快速使用。
這是命令列上的 HTTP 代理示例。
$ git config --global http.proxy http://username:password@proxy_server.com:port
在具有特定域的場景中,我們將執行如下所示的命令。
$ git config --global http.http://specific_domain.com.proxy http://username:password@proxy_server.com:port
請注意,我們在 http.proxy
之間新增了我們的域,並且我們提供了完整的代理 URL。完整的 URL 使 Git 可以自動識別和執行協議。
在 Git 命令中使用 HTTPS 代理
在我們在防火牆後面工作的場景中,以下是我們將如何執行 HTTPS 代理協議的命令。
$ git config --global http.https://specific_domain.com.proxy http://username:password@proxy_server.com:port
URL 介於 http.proxy
之間,但請注意從 http://specific_domain.com
到 https://specific_domain.com
的更改。
你可以禁用 SSL 驗證以避免出現問題,如下所示。
$ git config --global http.https://specific_domain.com.sslVerify false
在 Git 配置檔案中永久配置代理
我們可以將上述設定永久儲存在 Git 配置檔案中。我們使用 --global
開關為所有使用者和連線設定配置。
使用 --Global
開關設定全域性代理
如果我們需要所有 Git 操作通過代理,我們執行:
$ git config --global http.proxy http://username:password@proxy_server.com:port
為特定域設定代理
如果我們希望特定域通過我們的代理連線,我們將執行以下命令。
$ git config --global http.https://domain.com.proxy http://username:password@proxy_server.com:port
禁用 HTTPS 驗證
如果你收到此錯誤訊息 無法訪問 'https://...': Unknown SSL protocol error in connection to ...:443
,你可以關閉 SSL 驗證,如下所示。
$ git -c http.sslVerify=false clone https://domain.com/example.git
或者,你可以一起禁用它,如下所示。
$ git config http.sslVerify false
刪除 Git 儲存庫的代理設定
我們使用下面的命令列出連線到我們儲存庫的所有代理。
$ git config --get-regexp http.*
我們可以使用以下任何語法來刪除我們的代理。
$ git config --unset http.proxy
$ git config --unset http.https://domain.com.proxy
或者
$ git config --unset http.sslVerify
$ git config --unset http.https://domain.com.sslVerify
如下所示,我們可以新增 global
開關以從我們所有的儲存庫中刪除代理設定。
$ git config --global --unset http.proxy
$ git config --global --unset http.https://domain.com.proxy
在 Git 中配置 SOCKS
代理
如前所述,Git 支援 socks5://
和 socks4://
協議。
執行以下命令來配置 SOCKS
協議。
$ git config --global http.proxy socks5://proxy_server.com:port
對於特定域,執行:
$ git config --global http.https://domain.com.proxy socks5://proxy_server.com:port
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn