2

同様の質問が何度も行われていることを私は知っています。しかし、私が見つけることができるのは、httpまたはsshプロトコルのプロキシを設定する方法についての答えだけです。これが状況です。何らかの理由で、クローンを作成する必要があるgitoriousのgitリポジトリでは、httpまたはsshが許可されていません。「gitclonehttp: //gitorious.org /....」を使用すると、「... / refs not found:サーバーでgit update-server-infoを実行しましたか?」というメッセージが表示されます。エラー。「gitclonessh://git@gitorious.org / ...」を使用すると、「致命的:リモートエンドが予期せずハングアップしました」というエラーが発生しました。(おそらく、これはandroidの「repo」のせいにする必要があります。gitcloneを直接実行できますが、「reposync」を介して実行することはできないためです)。(上記のテストはすべてファイアウォールなしで実行されます。)

だから私の質問は、ファイアウォールの背後でgitプロトコルを使用するようにSSHトンネルを設定する方法です。具体的には、ファイアウォールの背後で「git clone git://gitorious.org / ...」(ssh://ではなく、http://ではない)を実行する必要があります。ありがとう!

4

1 に答える 1

4

プロトコルはgit://ポート9418で動作します(マニュアルgit-daemonページに記載されているか、実行されますgit daemon --help)。SSHトンネルを介してこれを転送するには、次のようにします。

ssh -L 9418:gitorious.org:9418 your.remote.host

接続したら、次のようにリモートリポジトリのクローンを作成します。

git clone git://localhost/path/to/repository.git

これが機能するためには、明らかにファイアウォールの外側にあるマシンがsshコマンドのターゲットになる必要があります。

于 2012-05-23T00:31:48.037 に答える