Comment vérifier si un dépôt distant Git est configuré avec SSH

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si un dépôt distant (remote) Git est configuré pour utiliser le protocole SSH. Nous commencerons par utiliser la commande git remote -v pour afficher les URL des dépôts distants configurés pour votre dépôt.

Ensuite, vous apprendrez à identifier le format du protocole SSH dans l'URL du dépôt distant. Enfin, nous aborderons brièvement la différence entre l'utilisation de HTTPS et de SSH pour se connecter à un dépôt distant.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git/BasicOperationsGroup -.-> git/add("Stage Files") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") subgraph Lab Skills git/add -.-> lab-560077{{"Comment vérifier si un dépôt distant Git est configuré avec SSH"}} git/remote -.-> lab-560077{{"Comment vérifier si un dépôt distant Git est configuré avec SSH"}} end

Exécuter git remote -v pour vérifier l'URL

Dans cette étape, nous allons apprendre à vérifier les URL des dépôts distants (remotes) associés à votre dépôt Git. Un "dépôt distant" (remote) dans Git est essentiellement un lien vers une autre version de votre dépôt, généralement hébergé sur une plateforme comme GitHub, GitLab ou Bitbucket. Lorsque vous clonez un dépôt, Git configure automatiquement un dépôt distant nommé origin pointant vers l'URL du dépôt original.

Pour voir quelles URL de dépôts distants sont configurées pour votre dépôt actuel, vous utilisez la commande git remote -v. Le drapeau -v signifie "verbeux" (verbose), ce qui signifie qu'il vous montrera les URL à la fois pour la récupération (téléchargement des modifications) et l'envoi (envoi des modifications).

Tout d'abord, assurons-nous que vous êtes dans le bon répertoire. Accédez au répertoire de votre projet :

cd ~/project/my-time-machine

Maintenant, exécutez la commande pour vérifier les URL des dépôts distants :

git remote -v

Comme il s'agit d'un nouveau dépôt qui n'a pas encore été lié à un dépôt distant, vous ne verrez aucune sortie. C'est normal ! Cela signifie simplement que votre dépôt local est actuellement autonome et n'est pas connecté à un dépôt externe.

Comprendre les dépôts distants est crucial pour la collaboration et la sauvegarde de votre travail. Lorsque vous travaillez avec d'autres personnes ou utilisez des plateformes comme GitHub, vous interagirez constamment avec des dépôts distants. La commande git remote -v est le moyen de vérifier à quel dépôt externe votre dépôt local est connecté.

Dans les étapes suivantes, nous explorerons comment ajouter un dépôt distant et en quoi le format de l'URL peut différer.

Vérifier le protocole SSH dans l'URL

Dans l'étape précédente, nous avons vu que notre dépôt n'avait encore aucun dépôt distant (remote) configuré. Maintenant, ajoutons un dépôt distant et examinons plus particulièrement le format de l'URL du protocole SSH.

SSH (Secure Shell) est un protocole réseau qui offre un moyen sécurisé d'accéder à un ordinateur sur un réseau non sécurisé. Dans le contexte de Git, l'utilisation de SSH vous permet de vous connecter de manière sécurisée à un dépôt distant sans avoir besoin d'entrer votre nom d'utilisateur et votre mot de passe à chaque interaction avec le dépôt (après la configuration initiale avec des clés SSH).

Une URL SSH pour un dépôt Git ressemble généralement à ceci : git@hostname:username/repository.git. Par exemple, un dépôt sur GitHub pourrait avoir une URL SSH comme [email protected]:octocat/Spoon-Knife.git.

Ajoutons un dépôt distant à notre dépôt my-time-machine en utilisant une URL SSH hypothétique. Nous nommerons ce dépôt distant origin, qui est le nom conventionnel pour le dépôt distant principal.

Assurez-vous d'être dans le répertoire ~/project/my-time-machine :

cd ~/project/my-time-machine

Maintenant, ajoutez le dépôt distant en utilisant la commande git remote add :

git remote add origin [email protected]:yourusername/my-time-machine.git

Remplacez yourusername par un espace réservé, car il s'agit simplement d'une démonstration du format de l'URL. Cette commande ajoute un dépôt distant nommé origin pointant vers l'URL SSH spécifiée. Elle ne produira aucun résultat si elle réussit.

Maintenant, utilisons de nouveau git remote -v pour voir les dépôts distants configurés :

git remote -v

Vous devriez maintenant voir un résultat similaire à ceci :

origin  [email protected]:yourusername/my-time-machine.git (fetch)
origin  [email protected]:yourusername/my-time-machine.git (push)

Remarquez le format de l'URL : [email protected]:yourusername/my-time-machine.git. C'est le format du protocole SSH. Il commence par git@, suivi du nom d'hôte (github.com), d'un deux-points :, puis du chemin vers le dépôt (yourusername/my-time-machine.git).

Comprendre le format d'URL SSH est important car c'est un moyen courant d'interagir avec des dépôts Git distants, notamment lorsque vous devez envoyer des modifications. Il offre une méthode plus sécurisée et pratique par rapport à l'entrée répétée de vos identifiants.

Tester HTTPS vs SSH

Dans l'étape précédente, nous avons ajouté un dépôt distant (remote) en utilisant le protocole SSH. Un autre protocole courant pour interagir avec les dépôts distants Git est HTTPS. Explorons les différences et à quoi ressemblent les URL.

HTTPS (Hypertext Transfer Protocol Secure) est le protocole standard pour les communications sécurisées sur Internet. Lorsque vous utilisez HTTPS avec Git, vous vous authentifiez généralement en utilisant votre nom d'utilisateur et votre mot de passe ou un jeton d'accès personnel (personal access token). Une URL HTTPS pour un dépôt Git commence généralement par https://. Par exemple, l'URL HTTPS pour le même dépôt hypothétique sur GitHub serait https://github.com/yourusername/my-time-machine.git.

SSH et HTTPS ont tous deux leurs avantages. HTTPS est généralement plus facile à configurer au départ car il ne nécessite pas de générer et de configurer des clés SSH. Cependant, pour les interactions fréquentes telles que l'envoi de modifications (push), SSH peut être plus pratique car il ne nécessite pas d'authentification répétée après la configuration initiale.

Supprimons le dépôt distant SSH que nous avons ajouté et ajoutons un dépôt distant HTTPS à la place pour voir la différence dans la sortie de git remote -v.

Tout d'abord, assurez-vous d'être dans le répertoire ~/project/my-time-machine :

cd ~/project/my-time-machine

Maintenant, supprimez le dépôt distant origin existant en utilisant la commande git remote remove :

git remote remove origin

Cette commande supprime le dépôt distant nommé origin. Elle ne produira aucun résultat si elle réussit.

Vérifions que le dépôt distant a été supprimé :

git remote -v

Vous ne devriez voir aucun résultat, ce qui confirme que le dépôt distant origin a été supprimé.

Maintenant, ajoutons le même dépôt hypothétique comme dépôt distant, mais cette fois-ci en utilisant l'URL HTTPS :

git remote add origin https://github.com/yourusername/my-time-machine.git

Encore une fois, remplacez yourusername par un espace réservé. Cette commande ajoute un dépôt distant nommé origin pointant vers l'URL HTTPS spécifiée.

Enfin, vérifions les dépôts distants à nouveau avec git remote -v :

git remote -v

Vous devriez maintenant voir un résultat similaire à ceci :

origin  https://github.com/yourusername/my-time-machine.git (fetch)
origin  https://github.com/yourusername/my-time-machine.git (push)

Remarquez que le format de l'URL commence maintenant par https://. C'est la principale différence dans la structure des URL entre les protocoles HTTPS et SSH pour les dépôts distants Git.

Dans un scénario réel, vous choisiriez soit SSH, soit HTTPS en fonction de vos préférences et des exigences de la plateforme d'hébergement Git que vous utilisez. Les deux protocoles sont largement pris en charge.

Vous avez maintenant ajouté et supprimé avec succès des dépôts distants et observé la différence entre les formats d'URL SSH et HTTPS. Cette compréhension est fondamentale lorsque vous travaillez avec des dépôts distants.

Résumé

Dans ce laboratoire (lab), nous avons appris à vérifier les URL des dépôts distants (remotes) configurés pour un dépôt Git en utilisant la commande git remote -v. Cette commande affiche les URL de récupération (fetch) et d'envoi (push) pour chaque dépôt distant configuré, qui sont des liens vers d'autres versions de votre dépôt, généralement hébergées sur des plateformes telles que GitHub. Nous avons compris qu'un nouveau dépôt sans dépôt distant ne montrera aucun résultat pour cette commande.

Nous avons ensuite exploré le protocole SSH pour les dépôts distants Git, en reconnaissant qu'il offre un moyen sécurisé d'interagir avec un dépôt distant sans avoir à entrer à plusieurs reprises ses identifiants après la configuration initiale avec des clés SSH. Nous avons appris à identifier le format d'URL SSH, qui est différent des URL HTTPS, et à vérifier si un dépôt distant est configuré pour utiliser SSH en examinant la sortie de git remote -v.