web-dev-qa-db-ja.com

プロキシの背後でgitを使用する方法

プロキシの背後からmsysgitを使用しています。私が質問で言ったように gitをプロキシサーバーで動作させる

システム変数http_proxyを値に設定しました。後で電話する

git config --global http.proxy $http_proxy

ただし、次のようなものを呼び出す場合:

git clone git://git.savannah.gnu.org/gnuprologjava.git

次のエラーが発生します。

git.savannah.gnu.org[0; 140.186.70.72]: errno=No error
fatal: unable to connect a socket (No error)
31
user689739

HTTPプロキシの背後にいる場合は、http git urlを使用する必要があります。 Savannah.gnu.orgの singGit ページには、このための正しい構文が記載されています。そのレポの場合:

git clone http://git.savannah.gnu.org/r/gnuprologjava.git
23
Mat

Linuxを使用している場合は、 このページ を参照してください。

Windowsでは、この方法で解決しました。

Cygwin をインストールし、socatパッケージを選択します。スクリプトgitproxy.cmdを作成し、パスに保存します(C:\ msysgit\cmd\gitproxy.cmdを使用しました):

@echo off
C:\cygwin\bin\socat.exe - PROXY:192.168.100.1:\%1:\%2,proxyport=3128

(192.168.100.1および3128を独自のプロキシIP /ポートに置き換えます)

次の行を実行して、プロキシを構成します。

git config --global core.gitproxy gitproxy.cmd

プロキシサーバーはgitポート(9418)のCONNECTコマンドを受け入れる必要があることに注意してください。この作業を行うために、次の行をsquid構成に追加しました。

acl SSL_ports port 9418         # git
acl Safe_ports port 9418        # git

(つまり、ポート9418をプロキシサーバーのポート443と同じように構成します)

7
wimh

これは多くの人から回答されましたが、これは認証付きのプロキシの背後にいるWindowsUSER向けです。

再インストール(最初の失敗、削除しないでください)。

Go to: 
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:pass@url:port
2. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:[email protected]:8080"

user/passに特別な文字がある場合は、 rl_encode を使用します

オプション2:環境変数を設定する

HTTP_PROXY = http://proxy.com:808

3
Ravi Parekh