Git と連携するようにプロキシを構成する

John Wachira 2023年1月30日
  1. Git でサポートされているプロキシプロトコル
  2. Git コマンドで HTTP プロキシを使用する
  3. Git コマンドで HTTPS プロキシを使用する
  4. Git 構成ファイルでプロキシを永続的に構成する
  5. Git リポジトリのプロキシ設定を削除する
  6. Git で SOCKS プロキシを構成する
Git と連携するようにプロキシを構成する

この記事では、さまざまなプロキシで動作するように Git を構成する方法について説明します。通常、企業のファイアウォールの背後で作業しているときに Git にアクセスするのは困難です。

Git がサポートするプロキシのいくつか、それらを構成する方法、および使い捨てのコマンドラインにプロキシをフィードする方法について説明します。はじめましょう。

Git でサポートされているプロキシプロトコル

Git は次のプロキシをサポートしています。

  1. HTTP
  2. HTTPS
  3. SOCKS4
  4. 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 検証を無効にする

このエラーメッセージ unable to access '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 Wachira
John Wachira avatar John Wachira avatar

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

関連記事 - Git Config