518

注: 説明されている使用例はプロジェクト内でのサブモジュールの使用に関するものgit cloneですが、HTTP を介した通常のリポジトリにも同じことが当てはまります。

Git の管理下にあるプロジェクトがあります。サブモジュールを追加したい:

git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu

しかし、私は得る

...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'

HTTP_PROXY をセットアップしました。

c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80

http プロキシ用のグローバル Git 設定もあります。

c:\project> git config --get http.proxy
http://proxy.mycompany:80

HTTP フェッチがプロキシ経由で一貫して機能するようになった人はいますか? 本当に奇妙なのは、GitHub のいくつかのプロジェクトが正常に動作することです (awesome_nested_setたとえば) が、他のプロジェクトは一貫して失敗します (たとえばrails )。

4

29 に答える 29

611

Git がグローバル構成プロパティで使用する HTTP プロキシを設定することもできますhttp.proxy

git config --global http.proxy http://proxy.mycompany:80

プロキシで認証するには:

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080/

(認証形式については、@EugeneKulabuhov@JaimeReynosoの功績によるものです。)

于 2010-08-04T14:55:19.200 に答える
151

これについては、すでにいくつかの素晴らしい答えがあります。ただし、一部のプロキシ サーバーではユーザー ID とパスワードで認証する必要があるため、チップを追加すると思いました。これはドメイン上にある場合もあります。

たとえば、プロキシ サーバーの構成が次のようになっているとします。

Server: myproxyserver
Port: 8080
Username: mydomain\myusername
Password: mypassword

.gitconfig次に、次のコマンドを使用してファイルに追加します。

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080

心配しないでくださいhttps。指定されたプロキシ サーバーが http と https をサポートしている限り、構成ファイル内の 1 つのエントリで十分です。

次に、次のコマンドを実行して、コマンドがエントリを.gitconfigファイルに正常に追加したことを確認できcat .gitconfigます。

ファイルの最後に、次のようなエントリが表示されます。

[http]
    proxy = http://mydomain\\myusername:mypassword@myproxyserver:8080

それでおしまい!

于 2013-02-07T11:33:16.900 に答える
134

最終的に機能したのは、http_proxy環境変数の設定でした。私はHTTP_PROXY正しく設定しましたが、gitは明らかに小文字のバージョンの方が好きです。

于 2008-12-29T12:34:18.373 に答える
53

WindowsでGitのmingwコンパイルを使用しているようです(または、私が聞いたことのない別のコンパイルを使用している可能性があります)。これをデバッグする方法はいくつかあります。gitのhttpプロキシ作業はすべてcurlによって行われると思います。gitを実行する前に、この環境変数を設定してください。

GIT_CURL_VERBOSE=1

これにより、少なくとも舞台裏で何が起こっているのかがわかります。

于 2008-09-24T16:24:51.373 に答える
26

ネットワーク チームが証明書を書き換えて ssl-inspection を行う場合、https の代わりに http url を使用し、この var を設定するとうまくいきました。

git config --global http.proxy http://proxy:8081
于 2013-03-11T15:10:15.793 に答える
21

私にとっては、 https:// は機能しますが、 git:// はプロキシ経由では機能しません。すべてが git:// を使用するスクリプトを実行していたため、すべてを簡単に変更することができなかったため、これは少し頭痛の種になりました。しかし、私はこのGEMを見つけました

git config --global url."https://github.com/".insteadOf git://github.com/
于 2015-09-23T16:30:15.030 に答える
20

Windows システムの %userprofile% ディレクトリ (メモ帳 %userprofile%.gitconfig ) または Linux システムの ~ ディレクトリ ( vi ~/.gitconfig )にある.gitconfig ファイルを編集して、以下のように http セクションを追加することもできます。

.gitconfig ファイルの内容:

[http]
        proxy = http://proxy.mycompany:80
于 2012-10-19T08:35:10.647 に答える
17

これは古い質問ですが、Windows を使用している場合、https URL 経由で取得する場合は HTTPS_PROXY も設定することを検討してください。私のために働いた!

于 2011-04-19T11:51:04.473 に答える
9

私にとってそれがうまくいったのは:

sudo apt-get install socat

$BIN_PATH/gitproxy 内に次のファイルを作成します。

#!/bin/sh 
_proxy=192.168.192.1 
_proxyport=3128 
exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport

実行権限を与えることを忘れないでください

chmod a+x gitproxy

次のコマンドを実行して、環境をセットアップします。

export PATH=$BIN_PATH:$PATH
git config --global core.gitproxy gitproxy
于 2015-04-09T09:23:59.670 に答える
8

git へのプロキシのセットアップ

指図

git config --global http.proxy http://user:password@domain:port

git config --global http.proxy http://clairton:123456@proxy.clairtonluz.com.br:8080
于 2016-11-24T13:21:17.450 に答える
6

これは私にはうまくいきました。

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port
于 2016-10-24T03:22:03.083 に答える
6

私は同じ問題を抱えていましたが、修正方法が少し異なりました: REBUILDING GIT WITH HTTP SUPPORT

git:プロトコルは、会社のファイアウォールを介して機能しませんでした。

たとえば、これはタイムアウトしました。

git clone git://github.com/miksago/node-websocket-server.git

curl github.comただし、問題なく動作するため、http_proxy環境変数が正しいことはわかっています。

以下のように を使用してみhttpましたが、すぐにエラーが発生しました。

git clone http://github.com/miksago/node-websocket-server.git

->>>  fatal: Unable to find remote helper for 'http' <<<-

次のようにgitを再コンパイルしてみました:

./configure  --with-curl --with-expat

それでも致命的なエラーが発生しました。

最後に、数時間イライラした後、構成ファイルを読んで、これを見ました:

# curl ヘッダーとライブラリ ファイルが含まれている場合は、CURLDIR=/foo/bar を定義します。

# /foo/bar/include および /foo/bar/lib ディレクトリ。

その時、ソースから準拠していなかったことを思い出したcurlので、ヘッダー ファイルを探しに行きました。案の定、それらはインストールされていませんでした。それが問題でした。Make は、欠落しているヘッダー ファイルについて文句を言いませんでした。そのため、オプションが何もしないことに気づきませ--with-curlんでした (実際、私のバージョンの のデフォルトですgit)。

私はそれを修正するために次のことを行いました:

  1. make に必要なヘッダーを追加しました。

    yum install curl-devel
    (expat-devel-1.95.8-8.3.el5_5.3.i386  was already installed).
    
  2. gitから削除されました/usr/local(新しいインストールをそこに置きたいため)。

    私は単純にgit*から削除/usr/local/shareしました/usr/local/libexec

  3. curlおよびexpatヘッダーファイルを含むインクルードディレクトリを検索し、 (を読んだためconfigure)これらを次のように環境に追加しました。

    export CURLDIR=/usr/include 
    export EXPATDIR=/usr/include
    
  4. configureのオプションで実行しました。これconfigureもファイル自体に記述されており、デフォルトでもありましたが、一体何なのか:

    ./configure  --with-curl --with-expat
    
  5. そして今、私の会社のファイアウォールを介してhttp動作します:git

    git clone http://github.com/miksago/node-websocket-server.git
    Cloning into 'node-websocket-server'...
    * Couldn't find host github.com in the .netrc file, using defaults
    * About to connect() to proxy proxy.entp.attws.com port 8080
    *   Trying 135.214.40.30... * connected
    ...
    
于 2012-02-26T02:13:22.567 に答える
5

Google での最初の結果であるため、これを投稿するだけで、私が見つけたこのブログ投稿は、curl 証明書を更新することで問題を解決します。

http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html

于 2011-08-26T14:56:53.027 に答える
1

$http_proxy はhttp://github.com用です .... $https_proxy はhttps://github.com用です ...

于 2013-04-19T07:27:36.600 に答える
1

これはプロキシの問題ではありません。github (または git) の問題です。Linuxのgit-1.6.0.1でも失敗します。 バグはすでに報告されています (あなたによっても同様です)。

パスティは必ず削除してください。既に Google に登録されています。編集: 夢を見ているに違いありません。削除できないと思います。代わりにGistを使用しますか?

于 2008-09-24T19:02:45.563 に答える
1

私のプロキシが認証を必要としない場合、上記の答えは私にとってはうまくいきました。認証が必要なプロキシを使用している場合は、CCProxy を試すことができます。ここに設定方法に関する小さなチュートリアルがあります。

http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-mobiles.html

新しいリポジトリをプッシュ、プル、作成できました。すべてがうまくいきました。私のように Git で問題が発生している場合は、新しいバージョンのクリーン アンインストールと再インストールを行ってください。

于 2013-08-10T01:40:01.900 に答える
0

これは多くの人から回答がありましたが、これは認証を使用してプロキシの背後にあるWinodws USER 向けです。

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

Goto ->
**Windows**
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:pass@url:port

**Linux**
1. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:PASS@proxy.abc.com:8080"

ユーザー/パスに特別な文字がある場合は、url_encodeを使用します

于 2016-03-02T15:05:18.410 に答える