53

ポート9418(git)をブロックしているファイアウォールの背後にいて、のチェックアウトを明示的に実行するいくつかのツールをインストールしようとしているため、チェックアウトのgit://github.com/...ためにhttpsに切り替えることができません。

だから私はプロキシを介してすべてのトラフィックをポート9418にリダイレクトすることが可能かどうか疑問に思っています、もしそうならどのように:)

4

4 に答える 4

90

gitサブモジュールについて話している場合は、次のことを試してください。

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

...ここから取得。

このように、プロキシを設定したり、スクリプトを実行したりする必要はありません。

于 2012-10-05T18:48:59.440 に答える
22

Gitconfigのcore.gitproxy設定をご覧ください。

クイックグーグルは、このスクリプトが役立つ可能性があることを明らかにしました(またはそうでない可能性があります—私はそれを試しませんでした):https ://gist.github.com/49288

于 2011-05-02T20:17:33.527 に答える
4

sshベースのTCPトンネルを試しましたか?(a)ファイアウォールの外側にあり、(b)IP転送を許可するsshサーバーがある場合は、次の操作を実行できます。

ssh -L localhost:9418:<remote>:9418 me@remote-ssh-server

または、ファイアウォールを回避するためにポート443でsshdを実行する必要がある場合は、

ssh -P 443 -L localhost:9418:<remote-host>:9418 me@remote-ssh-server

次に、ローカルで:

git checkout git://localhost/...

明らかに、これは透過的ではなく、少し複雑です。問題をより具体的に対象としたツールがあることは間違いありません。ただし、この方法は、手元にあるツール(sshとレンタルする安価な仮想サーバー)を使用するため、通常はこの方法を使用します。

(実際にgit接続でこれを試したことはありませんが、機能しない理由はわかりません。他の多くのシングルTCPポートプロトコルで問題なく使用しました。)

于 2011-05-02T19:11:45.570 に答える
4

core.gitProxySOCKSプロキシを介してgitをリモートサーバーに接続するプロキシコマンドを指定する必要があります。プロキシコマンドとして機能する次のコンテンツを含むスクリプトを作成できます。

nc -x <your_proxy_host>:<your_proxy_port> $1 $2

リモートホストとポートを表す2つのパラメーターは、gitによってプロキシコマンドに渡されます。このスクリプトに名前を付けgit-proxyて、からアクセスできるように$PATHすると、を呼び出しgit configて設定できます。

git config --global --add core.gitProxy git-proxy
于 2015-09-10T21:37:14.090 に答える