Gitクローンはssh:// git @ ..でのみ動作し、git @では動作しません


11

GITリポジトリが使用時にのみ機能し、使用ssh://git@server.com/repo.git時にも機能しない理由はgit@server.com/repo.git何ですか?

それは他の誰かによるサーバーのセットアップであるため、どのようにセットアップされたかはわかりませんが、BitBucketまたはGitHubで使用することができgit@server.com/repo.git、SSHプロトコルを使用して動作し、リポジトリを複製します。このサーバーが使用時にのみ機能する理由はssh://git@server.com/repo.git何ですか?

だから私ssh://は前に追加する必要があります。


サーバーは代替SSHポートを使用しますか?のようなssh://git@server.com:2222/
7ochem

いいえ。それは同様に22だssh://git@server.com/repo.gitながら作品をgit@server.com/repo.gitしません。いずれにしても追加しません:port。せずssh://にやってみるとfatal: repository 'git@server.com/something/repo.git' does not exist。それでssh://git@server.com/something/repo.git動作します。
ダニエル

ある種の構成の問題(おそらくファイアウォールですか?ユーザー名の問題?)-私は自分の所属機関でのセットアップに関して同様の問題を抱えています。しかし、HTTPS経由のアクセスは動作します-ソリューションは、このスレッドから書き換えルールを使用することですので:stackoverflow.com/questions/15589682/...
DetlevCM

回答:


32

間違った構文を使用しています。

scheme://プレフィックスを削除すると、gitはアドレスをURLスタイルで解釈しなくなり、代わりにrcp / scpスタイルとして解釈します。ただし、rcp / scp形式のアドレスの場合、コロン:を使用してパスをuser @ hostから分離する必要があります(ポートの指定はサポートされません)。例えば:

git clone daniels@server.com:repo.git

git clone git@bitbucket.com:daniels/example.git

コロンがない場合、gitはアドレスをローカルパスとしてのみ解釈します。

git cloneまたはgit fetchのマニュアルページで詳細を確認できます。)


ああ、謎は解決しました。あなたが正しいです。ありがとうございました。
ダニエル

私はBitBucketサーバー(以前のStash、クラウドバージョンではなく、サーバーにインストールしたサーバー)を使用していて、そこからGITコマンドをコピーして貼り付けました。何らかの理由で彼らは足りないものを追加しません:
ダニエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.