私は自宅のマシンでmsysGit(Windows上のGit)が正常に動作していますが、職場では、Microsoft ISAプロキシの背後にいるため、gitを実行すると次のエラーが発生します。クローン:
H:\>git clone git://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
github.com[0: 65.74.177.129]: errno=Invalid argument
fatal: unable to connect a socket (Invalid argument)
Http_proxy環境変数を次のように設定しようとしました。
http://our-proxy-server:8088
Git http.proxy設定ディレクティブを設定しました:
git config --global http.proxy http://our-proxy-server:8088
上記のどちらも違いはありません。
http://
の代わりにgit://
を使用してgit cloneを実行すると、次の結果が得られます。
H:\>git clone http://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
fatal: http://github.com/akitaonrails/vimfiles.git/info/refs download error - The requested URL returned error: 407
407はもちろん認証エラーです。
だから私の質問は次のとおりです:誰もプロキシ、特にISAプロキシの背後からgitを動作させることができましたか?これを追求する価値があるかどうかはわかりません。 。
ありがとう!
まったく同じエラーが発生しました。しかし、 ~/.gitconfig
グローバル設定ファイル がキーでした。
認証付きのプロキシがある場合は、プロキシを配置する必要があります。
git config --global http.proxy http://login:password@our-proxy-server:8088
そして、それはちょうど動作します(「git clone http:
」で)
同じ設定の詳細なブログの例: GIT clone over HTTP:who knows?
それでも407で失敗する場合は、 git-fetchは2番目のHTTP GETで認証トークンを失います の問題に関連している可能性があります。 libcurlの最新バージョン が必要になる場合があります。
2011年1月の更新: jbustamovejhis answer(upvoted) 彼のブログ投稿 " GitHub Behind Corporate Proxy "に記載されています。
ログインにバックスラッシュがある場合、
domain\login
のように、バックスラッシュをエスケープする必要があるに注意することが重要です。
git config --global http.proxy http://domain\\\login:password@our-proxy-server:8088
プロキシがgitプロトコルトラフィックを許可していないため、プロキシを構成した後でも接続できない場合があります。この場合、「git」ではなく「http」を使用してみてください。
H:> git clone http://github.com/akitaonrails/vimfiles.git
また、自動化されたプロキシ構成ファイル(.pac)を使用している場合は、テキストエディターで開くだけです。最も効率的なプロキシにリダイレクトするための一連の条件を備えた、非常に簡単なスクリプト言語です。汎用トラフィックを許可するもの(通常、最後に構成されたプロキシ)を見つけ、上記のコメントで述べたように構成します。
SOCKSプロキシはありますか?持っている場合は、FreeCapを試して、git接続をソックス化する必要があります。しばらくこの方法でgitを使用しています。
そうでない場合でも、FreeCapを試してください。 IIRCはhttpプロキシを使用できるかもしれませんが、私はそれを試していません。
編集:私は通常cmd.exeを使用してFreeCapを使用し、それ以降(ほぼ)そのセッションから開始するすべてのcmdlineプログラムもsocks化されます。 SocksCap(別の代替)がそのように機能しないため、Free Capを推奨した理由です。
Http.proxyの使用に関しては、何らかの理由で、mingwバージョンと会社のhttpプロキシで動作しませんでした。
私は非常に複雑なルートを介してそれを動作させることができました。方法は次のとおりです。
驚くべきことに、私はまだすべてをテストしていませんが、うまくいくようです。確かに、それはクローンであり、これが始まりです。
誰かがより良い解決策を持っているなら、私はすべて耳です。
これが私のために働いたものです:
git config --global http.proxy http://login:password@PROXY_SERVER:PORT
git config --global http.sslVerify false
Python 2.7および ntlmaps は、GitHubから407エラーおよびその他のジャンクを取得した後に機能しました。
.gitconfig:
[http]
proxy = http://127.0.0.1:5865
私はWindows7でこの問題を抱えていました:
$ git clone git://github.com/facebook/php-sdk.git
Initialized empty Git repository in c:/Users/Jay/temp/php-sdk/.git/
github.com[0: 207.97.227.239]: errno=No error
fatal: unable to connect a socket (No error)
最終的に、それはAVGアンチウイルスソフトウェアの実行であることがわかりました。 AVG内の「常駐シールド」を無効にし、今では魅力のように動作します。
$ git clone git://github.com/facebook/php-sdk.git
Initialized empty Git repository in c:/Users/Jay/temp2/php-sdk/.git/
remote: Counting objects: 223, done.
remote: Compressing objects: 100% (179/179), done.
emote: Total 223 (delta 84), reused 0 (delta 0)
Receiving objects: 100% (223/223), 37.32 KiB, done.
Resolving deltas: 100% (84/84), done.