web-dev-qa-db-ja.com

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

GITリポジトリがssh://[email protected]/repo.gitを使用する場合にのみ機能し、[email protected]/repo.gitを使用しない場合に機能する理由は何ですか?

それは誰かによるサーバーのセットアップなので、どのようにセットアップされたかはわかりませんが、BitBucketまたはGitHubでは[email protected]/repo.gitを使用するだけで機能し、SSHプロトコルを使用してリポジトリを複製します。このサーバーでssh://[email protected]/repo.gitを使用する場合にのみ機能する理由は何ですか?

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

12
daniels

不正な構文を使用しています。

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

git clone [email protected]:repo.git

git clone [email protected]:daniels/example.git

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

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

32
user1686