Est-il possible de supprimer "ssh: //" des URL de git remote?


8

J'ai l'habitude de créer des référentiels créés manuellement pour envoyer du code à mon serveur pour animaux de compagnie ou partager du code au sein de mon entreprise. J'utilise l'URL ssh://user@ip/folder.gitpour ajouter des télécommandes à mes espaces de travail.

Je me demandais comment des services comme GitHub définissaient les URL de référentiel sans la spécification de protocole, comme git@github.com:igorsantos07/Restler.git.


2
git@github.com:igorsantos07/Restler.gitest le même quessh://git@github.com:igorsantos07/Restler.git
phoops

Ce n'est pas ma question, mec!
igorsantos07

Réponses:


6

Si vous jetez un œil au livre Git accessible ici: 4.1 Git sur le serveur - Les protocoles il y est fait mention des différents formats pour les protocoles que Git acceptera.

extrait

Le protocole de transport le plus courant pour Git est probablement SSH. C'est parce que l'accès SSH aux serveurs est déjà configuré dans la plupart des endroits - et si ce n'est pas le cas, c'est facile à faire. SSH est également le seul protocole réseau sur lequel vous pouvez facilement lire et écrire. Les deux autres protocoles réseau (HTTP et Git) sont généralement en lecture seule, donc même si vous les avez disponibles pour les masses non lavées, vous avez toujours besoin de SSH pour vos propres commandes d'écriture. SSH est également un protocole réseau authentifié; et parce qu'il est omniprésent, il est généralement facile à configurer et à utiliser.

Pour cloner un référentiel Git sur SSH, vous pouvez spécifier l'URL ssh: // comme ceci:

  $ git clone ssh://user@server/project.git

Ou vous pouvez utiliser la syntaxe de type scp plus courte pour le protocole SSH:

  $ git clone user@server:project.git

Vous ne pouvez pas non plus spécifier un utilisateur, et Git suppose que l'utilisateur sous lequel vous êtes actuellement connecté est.

Des services tels que GitHub jouent d'autres astuces avec l'accès aux référentiels en encapsulant essentiellement l'accès à l'aide de HTTP, puis en émettant les protocoles appropriés à l'arrière du serveur HTTP. Cela se fait généralement comme un proxy inverse de toutes sortes. Un produit que vous pouvez utiliser qui vous donne certaines de ces capacités s'appelle Gitolite ( TOC ou Intro ) ainsi que Gitorious .


Oops!! ma question a été répondue exactement par cette "syntaxe de type scp plus courte". C'est ce que je voulais et je n'ai pas remarqué qu'il y avait un collon là-bas. Merci!
igorsantos07
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.