Chemin du dépôt
Vous avez raison de poser cette question. La différence réside dans la manière dont Git et SSH interprètent les chemins. Lorsque vous utilisez SSH pour cloner un dépôt Git, le chemin spécifié après le nom d'utilisateur et le domaine est relatif au répertoire personnel de l'utilisateur SSH (dans ce cas, l'utilisateur git).
Voici une explication plus détaillée :
Structure des chemins SSH pour Git¶
Lorsque vous utilisez une URL SSH pour cloner un dépôt Git, le chemin spécifié est relatif au répertoire personnel de l'utilisateur SSH. Par exemple, si vous avez un utilisateur git et que vous voulez cloner un dépôt situé dans /var/git-server/repos/sandbox.git, vous devez créer un lien symbolique ou ajuster le chemin pour qu'il soit accessible depuis le répertoire personnel de l'utilisateur git.
Solution : Utiliser un lien symbolique¶
Une solution courante consiste à créer un lien symbolique dans le répertoire personnel de l'utilisateur git qui pointe vers le répertoire où se trouvent les dépôts.
-
Créer un lien symbolique :
sudo su - git ln -s /var/git-server/repos ~/git-server/repos
-
Cloner le dépôt : Maintenant, vous pouvez cloner le dépôt en utilisant l'URL SSH suivante :
git clone ssh://git@{{ domain_name }}:22/~/git-server/repos/sandbox.git
Solution : Utiliser le chemin absolu¶
Si vous préférez ne pas utiliser de lien symbolique, vous pouvez spécifier le chemin absolu directement dans l'URL SSH. Cependant, cela peut être moins pratique et moins portable.
-
Cloner le dépôt avec le chemin absolu :
git clone ssh://git@{{ domain_name }}:22/var/git-server/repos/sandbox.git
Résumé¶
- Lien symbolique : Créez un lien symbolique dans le répertoire personnel de l'utilisateur
gitpour pointer vers le répertoire des dépôts. - Chemin absolu : Utilisez le chemin absolu directement dans l'URL SSH.
En utilisant un lien symbolique, vous pouvez simplifier l'URL SSH et rendre la configuration plus portable et facile à gérer.