`git:` URLを `http:` URLに変換する方法


139

httpプロキシの背後で作業しています。「レポ」ツールを使用してAndroidのソースツリーを複製しようとしています。

このツールはgit://http://URLも機能するにもかかわらず、URLの使用を要求します。その結果、ソースをダウンロードできません。

git常に使用することを強制することは可能httpですか?

編集:私のhttp_proxyは正しく設定されています。たとえば、これは動作します:

git clone http://android.git.kernel.org/platform/manifest.git

しかし、これはしません(errno = Connection timed out):

git clone git://android.git.kernel.org/platform/manifest.git

だからこの答えは本当に私を助けません。


この前の回答を参照してください。
ジョンポーレット、

回答:


297

GitHubのデフォルトプロトコルを書き換える例を次に示します。

git config --global url.https://github.com/.insteadOf git://github.com/

のGitドキュメントurl.<base>.insteadOf

git config [--global] url.<base>.insteadOf <other_url>

この値で始まるURLは、代わりにで始まるように書き換えられ<base>ます。指定されたURLに複数のsteadyOf文字列が一致する場合、最長一致が使用されます。


19
ファイアウォールがgitプロトコルをブロックするときに役立ちます!:)
Wojtek Turowicz 2013年

ここで質問できますか?私はこれを使っていましたが、「https」ではなく「heeps」と書きました。どうすれば修正できますか?'git config --global.url。github.com/.insteadOf heeps://github.com/ 'work?
Xuxu 2016年

1
ヒント:git remote -v効果insteadOfpushInsteadOf構成をすぐに表示
Beni Cherniavsky-Paskin

これは、22ポートがブロックされたパブリックWiFiで私に役立ちました。構成をデフォルトに戻すにはどうすればよいですか?
yivo

14
私のリポジトリがgit@github.com:...URLの形式を使用していたことを除いて、この答えは私にとってほとんど成功しました。これはうまくいきました:git config --global url."https://github.com/".insteadOf 'git@github.com:'私にとって。
Kraenhansen 2017

35

このrepoツールがGitをどのように使用するか(そして、 'repo'をhttpプロトコルを使用するように構成できるかどうか)はわかりませんが、url.<base>.insteadOf構成変数を使用してそれをだますことができます(git-configおよびgit-fetchのマンページを参照)。

core.gitProxyファイアウォールを通過するためにを使用しようとしたことがありますか?それがgitプロトコルを使用した問題である場合は、


2
ありがとう、この「insteadOf」変数はまさに私が必要としていたものです。
noamtm 2009年

23

gitリポジトリにサブモジュールを再帰的に取得することで、これと同じ問題が発生しました。私はgitポートでの発信接続を許可しないクレイジーなファイアウォールの背後にいます。サブモジュールの一部のサブモジュールはとしてコーディングされましたgit://github.com/blah/blah.git。これは私の再帰的なサブモジュールの人口を殺しました。回避策は次のとおりです。

git config --global url."https://<GITUSERNAME>@".insteadOf git://

これは、すべてのサブモジュールリポジトリURLで置き換えgit://られhttps://<GITUSERNAME>@ます。<GITUSERNAME>独自のgitユーザー名に置き換える必要があります。また、--global必須であることに注意してください。この構成をベースリポジトリディレクトリに追加するだけでは機能しません。


3
Yはgit config --global url。 "https://" .insteadOf git://を使用するだけではありませんか? github.com/angular/angular-phonecat/issues/141 ユーザー名は必須ですか?
Αλέκος

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.