Comment vérifier si un dépôt distant Git est configuré avec le protocole HTTPS

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 HTTPS. Nous allons explorer la commande git remote -v pour afficher les URL des dépôts distants et vérifier spécifiquement le schéma de l'URL.

Grâce à des étapes pratiques, vous créerez un dépôt de test, ajouterez un dépôt distant utilisant le protocole HTTPS et utiliserez la commande git remote -v pour confirmer la configuration. Ce laboratoire vous dotera des connaissances nécessaires pour vous assurer que votre dépôt local est connecté au bon emplacement distant en utilisant le protocole souhaité, en comprenant la différence entre les configurations de dépôts distants HTTPS et SSH.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/SetupandConfigGroup -.-> git/clone("Clone Repo") git/BasicOperationsGroup -.-> git/status("Check Status") git/BasicOperationsGroup -.-> git/rm("Remove Files") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") subgraph Lab Skills git/config -.-> lab-560076{{"Comment vérifier si un dépôt distant Git est configuré avec le protocole HTTPS"}} git/init -.-> lab-560076{{"Comment vérifier si un dépôt distant Git est configuré avec le protocole HTTPS"}} git/clone -.-> lab-560076{{"Comment vérifier si un dépôt distant Git est configuré avec le protocole HTTPS"}} git/status -.-> lab-560076{{"Comment vérifier si un dépôt distant Git est configuré avec le protocole HTTPS"}} git/rm -.-> lab-560076{{"Comment vérifier si un dépôt distant Git est configuré avec le protocole HTTPS"}} git/remote -.-> lab-560076{{"Comment vérifier si un dépôt distant Git est configuré avec le protocole HTTPS"}} end

Vérifier git remote -v pour le protocole HTTPS

Dans cette étape, nous allons explorer comment vérifier l'URL d'un dépôt distant (remote) d'un dépôt Git, en nous concentrant particulièrement sur le protocole HTTPS. Comprendre l'URL du dépôt distant est crucial car elle indique à votre dépôt Git local d'où récupérer le code et où envoyer vos modifications.

Tout d'abord, créons un simple dépôt Git pour travailler. Accédez au répertoire de votre projet et initialisez un nouveau dépôt Git :

cd ~/project
mkdir my-remote-test
cd my-remote-test
git init

Maintenant, ajoutons une URL de dépôt distant. Nous utiliserons une URL fictive à des fins de démonstration. Dans un scénario réel, il s'agirait de l'URL de votre dépôt sur une plateforme comme GitHub, GitLab ou Bitbucket.

git remote add origin https://github.com/user/repo.git

Cette commande ajoute un dépôt distant nommé origin avec l'URL HTTPS spécifiée. origin est le nom conventionnel pour le dépôt distant principal.

Maintenant, pour vérifier l'URL du dépôt distant, nous utilisons la commande git remote -v. Le drapeau -v signifie "verbeux" et affichera les URL à la fois pour la récupération (fetch) et l'envoi (push) des modifications.

git remote -v

Vous devriez voir une sortie similaire à celle-ci :

origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)

Cette sortie confirme que votre dépôt a un dépôt distant nommé origin configuré pour utiliser le protocole HTTPS à la fois pour la récupération et l'envoi des modifications. (fetch) indique l'URL utilisée lorsque vous téléchargez ou récupérez les modifications depuis le dépôt distant, et (push) indique l'URL utilisée lorsque vous envoyez vos modifications locales au dépôt distant.

L'utilisation du protocole HTTPS pour les dépôts distants est courante, en particulier pour les dépôts publics ou lorsque vous vous authentifiez avec un nom d'utilisateur et un mot de passe ou un jeton d'accès personnel. Il est important de savoir comment vérifier cette configuration pour vous assurer que votre dépôt local est connecté au bon emplacement distant en utilisant le protocole souhaité.

Vérifier le schéma de l'URL

Dans cette étape, nous allons spécifiquement vérifier que l'URL du dépôt distant utilise le schéma HTTPS. Bien que git remote -v affiche l'URL complète, il peut arriver que vous deviez vérifier programmatiquement ou simplement confirmer le protocole utilisé.

Nous pouvons y parvenir en redirigeant la sortie de git remote -v vers grep et en recherchant la chaîne de caractères "https".

Tout d'abord, assurez-vous d'être dans le répertoire my-remote-test :

cd ~/project/my-remote-test

Maintenant, exécutez la commande git remote -v et redirigez sa sortie vers grep :

git remote -v | grep "https"

Si l'URL du dépôt distant origin utilise effectivement le protocole HTTPS, vous devriez voir une sortie similaire à celle-ci :

origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)

Si la sortie est vide, cela signifie que le dépôt distant origin n'est pas configuré avec une URL HTTPS.

Comprendre le schéma de l'URL (comme https:// ou git@) est important car il détermine la manière dont Git s'authentifiera auprès du serveur distant. Le protocole HTTPS utilise généralement un nom d'utilisateur/mot de passe ou des jetons, tandis que le protocole SSH utilise des clés SSH. Savoir quel schéma est configuré vous aide à résoudre les problèmes de connexion ou à comprendre la méthode de sécurité utilisée.

Ce simple contrôle est un moyen rapide de confirmer le protocole sans avoir besoin d'analyser manuellement l'URL complète.

Tester SSH vs HTTPS

Dans cette étape, nous allons explorer la différence entre l'utilisation des protocoles HTTPS et SSH pour interagir avec un dépôt Git distant. Bien que les deux protocoles vous permettent de récupérer et d'envoyer du code, ils utilisent des méthodes d'authentification différentes.

Nous avons déjà configuré notre dépôt distant origin pour utiliser le protocole HTTPS. Essayons de simuler le clonage d'un dépôt en utilisant les deux protocoles pour voir la différence dans le format des URL.

Tout d'abord, revenons au répertoire ~/project :

cd ~/project

Maintenant, simulons le clonage d'un dépôt en utilisant le protocole HTTPS. Nous utiliserons l'URL d'un dépôt public qui ne nécessite pas d'authentification pour le clonage.

git clone https://github.com/git/git.git git-https-test

Cette commande clone le dépôt officiel de Git dans un nouveau répertoire nommé git-https-test. Vous verrez une sortie indiquant le processus de clonage. Cela fonctionne car le clonage d'un dépôt public via HTTPS ne nécessite généralement pas de credentials.

Maintenant, simulons le clonage du même dépôt en utilisant le protocole SSH. Le format de l'URL SSH est différent, il ressemble généralement à git@hostname:user/repo.git.

git clone [email protected]:git/git.git git-ssh-test

Lorsque vous exécutez cette commande, vous verrez probablement un message vous demandant de confirmer l'authenticité de l'hôte ou une erreur de permission refusée. Cela est dû au fait que le clonage via SSH nécessite une authentification à l'aide de clés SSH. Étant donné que nous n'avons pas configuré de clés SSH dans cet environnement, la connexion échouera ou vous demandera des credentials.

Cloning into 'git-ssh-test'...
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6qU/mzgpTw4mSjJA9PMpTkCXPzQ7lPkLiA.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Vous pouvez taper no et appuyer sur Entrée pour refuser la tentative de connexion.

Cela démontre la différence clé : le protocole HTTPS est souvent plus simple pour l'accès public (comme le clonage), tandis que le protocole SSH offre une méthode plus sécurisée et pratique pour l'accès authentifié (comme l'envoi de modifications) une fois que les clés SSH sont configurées.

Vous pouvez maintenant supprimer les répertoires de test :

rm -rf git-https-test git-ssh-test

Comprendre quand utiliser HTTPS plutôt que SSH est important pour gérer vos flux de travail Git et garantir un accès sécurisé à vos dépôts.

Résumé

Dans ce laboratoire (lab), nous avons appris à vérifier si un dépôt distant Git est configuré avec le protocole HTTPS. Nous avons commencé par initialiser un nouveau dépôt Git et par ajouter un dépôt distant en utilisant une URL HTTPS. La commande principale utilisée pour vérifier l'URL du dépôt distant et son protocole était git remote -v, qui affiche les URL de récupération (fetch) et d'envoi (push) pour chaque dépôt distant configuré.

Nous avons confirmé que la sortie de git remote -v montre clairement le schéma de l'URL, ce qui nous permet d'identifier si le protocole HTTPS est utilisé. Ce processus est essentiel pour comprendre comment votre dépôt local interagit avec son équivalent distant et pour garantir que le protocole de connexion souhaité est en place.