7

sshポートフォワーディングを使用して企業ファイアウォールを無効にしようとしています。

ssh git@GIT_SERVER -L9418:GIT_SERVER:9418

そして別のターミナルで私は走ります

git clone git://localhost:repositories/project.git

しかし、次のエラーが発生します。

/Users/aboxer/tmp/glucosia/.git/に空のGitリポジトリを初期化しました

致命的:ローカルホスト(ポートリポジトリ)を検索できません(ノード名またはサービス名が提供されているか、不明です)

ありがとう!

4

4 に答える 4

7

あなたの問題(または少なくともこの特定のエラーを引き起こしている問題)がここにあると確信しています:

git clone git://localhost:repositories/project.git

man git pushの URL 表記のリストを見ると、関連する例が表示されます。

git://host.xz[:port]/path/to/repo.git/

コロンを使用すると、ポート名として「リポジトリ」を使用しているため、(当然のことながら) git はローカル ホストのポート リポジトリに接続できません! 探しているものは次のとおりです。

git://localhost/path/to/repositories/project.git

多分

git://localhost/~user/repositories/project.git

編集:

最初からそう言っておくべきだったのかもしれませんが、git で SSH トンネリングを使用する必要がある理由が思い浮かびません。デフォルトのトランスポート プロトコルは ssh です。git プロトコルは実際には、パブリック リポジトリをアカウントなしでフェッチできるようにするためだけに存在します。リポジトリが配置されているマシンに SSH 接続できる場合は、ssh 経由で取得できます。

git clone ssh://[user@]host.xz/path/to/repo.git
git clone ssh://[user@]host.xz/~/path/to/repo.git
git clone ssh://[user@]host.xz/~user/path/to/repo.git
于 2010-03-28T14:37:22.660 に答える
6

ここに完全な応答/ガイドを書きました: http://vladzloteanu.wordpress.com/2010/12/18/git-through-ssh-port-forwarding-ssh-tunneling/

于 2010-12-18T12:57:59.367 に答える
1

Vlad Zloteanu の答えの短いバージョン:

トンネルをセットアップします。

ssh ServerWithSSHAccessAddress -L 2000:GitServerAddress:22 -N , &

レポをクローンする

git clone ssh://user@localhost:2000/my_repo.git
于 2013-11-06T09:30:33.867 に答える
0

これが私のために働いたステップです。私のシステムは会社のファイアウォールの背後にあり、ドメインに参加しています:

  • 最初の npm をインストールする必要があります
  • Fiddler も実行モードにする必要があります。Fiddler は、[ルール] の下の [自動認証] オプションを有効にして実行する必要があります
  • 次のコマンドで Git をインストールします。

npm インストール git

  • プロトコルを git から https に更新します。

git config --グローバル URL。https://github.com/.insteadOf git://github.com/

于 2016-07-28T15:54:39.007 に答える