Git clone ne fonctionne qu'avec ssh: // git @ .. et pas avec git @


12

Une idée pourquoi un dépôt GIT ne fonctionnerait que lors de l'utilisation ssh://git@server.com/repo.gitet pas également lors de l'utilisation git@server.com/repo.git?

C'est une configuration de serveur par quelqu'un d'autre, donc aucune idée de la façon dont elle a été configurée, mais sur BitBucket ou GitHub, je peux simplement l'utiliser git@server.com/repo.gitet cela fonctionne et clone le dépôt en utilisant le protocole SSH. Une idée pourquoi pour ce serveur iy ne fonctionne que lors de l'utilisation ssh://git@server.com/repo.git?

J'ai donc besoin d'ajouter l' ssh://avant.


Le serveur utilise-t-il un autre port SSH? Commessh://git@server.com:2222/
7ochem

Non, c'est 22. Comme ça ssh://git@server.com/repo.gitmarche alors git@server.com/repo.gitque non. Je n'ajoute :porten aucun cas le. Quand j'essaye sans ssh://je reçois fatal: repository 'git@server.com/something/repo.git' does not exist. Avec ssh://git@server.com/something/repo.gitça marche.
daniels

Un problème de configuration quelconque (peut-être un pare-feu? Un problème de nom d'utilisateur?) - J'ai un problème similaire avec une configuration dans mon établissement. Cependant, l'accès via https fonctionne - la solution consiste donc à utiliser les règles de réécriture de ce fil: stackoverflow.com/questions/15589682/…
DetlevCM

Réponses:


32

Vous utilisez la syntaxe incorrecte.

Lorsque vous supprimez le scheme://préfixe, git n'interprète plus votre adresse dans le style URL, mais à la place comme style rcp / scp. Mais pour les adresses de style rcp / scp, le chemin doit être séparé de user @ host à l'aide de deux points: (la spécification d'un port n'est pas prise en charge). Par exemple:

git clone daniels@server.com:repo.git

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

Sans les deux-points, git interprétera uniquement l'adresse comme un chemin local.

(Vous pouvez voir plus de détails dans la page de manuel de git clone ou git fetch .)


Hah, le mystère est résolu. Tu as raison. Je vous remercie.
daniels

J'utilisais le serveur BitBucket (ancien Stash, celui que vous installez sur votre serveur, pas la version cloud) et j'ai simplement copié et collé la commande GIT à partir de là. Pour une raison quelconque, ils n'ajoutent pas ceux qui manquent :.
daniels
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.