Cloner un dépôt Git avec une authentification par nom d’utilisateur et mot de passe

GitBeginner
Pratiquer maintenant

Introduction

Savoir cloner un dépôt Git est indispensable pour les développeurs. L’accès au code d’un dépôt privé nécessite souvent une authentification. Dans ce laboratoire, vous allez apprendre à cloner un dépôt Git en vous authentifiant avec un nom d’utilisateur et un mot de passe. Vous découvrirez la syntaxe à utiliser et les précautions de sécurité à prendre pour accéder à des dépôts distants en toute sécurité.

Comprendre Git et le clonage de dépôts

Avant de cloner un dépôt avec authentification, découvrez ce qu’est Git et ce que signifie cloner un dépôt.

Qu’est-ce que Git ?

Git est un système de gestion de versions distribué qui permet de suivre les modifications du code source pendant le développement logiciel. Plusieurs développeurs peuvent ainsi travailler sur le même projet sans écraser les modifications des autres.

Voici quelques concepts clés de Git :

  • Dépôt : emplacement où sont stockés votre projet et son historique
  • Commit : instantané de votre projet à un moment donné
  • Branche : version parallèle du dépôt, qui peut être développée indépendamment
  • Dépôt distant : version de votre dépôt hébergée sur un serveur, par exemple sur GitHub, GitLab ou Bitbucket

Qu’est-ce que le clonage d’un dépôt Git ?

Cloner un dépôt Git consiste à créer une copie locale d’un dépôt distant. Le clonage télécharge tous les fichiers, toutes les branches et l’historique des commits. Vous pouvez ainsi travailler sur le projet localement, puis envoyer vos modifications vers le dépôt distant.

Vérifier l’installation de Git

Avant de continuer, vérifiez que Git est installé sur votre système. Ouvrez un terminal et exécutez la commande suivante :

git --version

Vous devriez obtenir un résultat semblable à celui-ci :

git version 2.34.1

Ce résultat confirme que Git est installé et prêt à être utilisé. À l’étape suivante, vous découvrirez la syntaxe de clonage avec authentification.

Méthodes d’authentification pour cloner un dépôt Git

Dans cette étape, découvrez les méthodes courantes d’authentification auprès d’un dépôt Git distant, en particulier celle qui utilise un nom d’utilisateur et un mot de passe.

Méthodes d’authentification courantes

Git prend en charge plusieurs méthodes d’authentification :

  • HTTPS avec un nom d’utilisateur et un mot de passe : utilisez les identifiants de votre compte d’hébergement Git
  • Clés SSH : utilisez une paire de clés publique et privée
  • Personal Access Tokens : utilisez des jetons générés à la place des mots de passe
  • OAuth : utilisez une autorisation accordée par des services tiers

Syntaxe de l’authentification HTTPS

Dans ce laboratoire, nous allons utiliser l’authentification HTTPS avec un nom d’utilisateur et un mot de passe. Voici la syntaxe de base pour cloner un dépôt en indiquant le nom d’utilisateur :

git clone https://username@repository-url.git

Le système vous demandera ensuite votre mot de passe. Vous pouvez aussi inclure le nom d’utilisateur et le mot de passe dans l’URL :

git clone https://username:password@repository-url.git

Cette méthode est toutefois moins sécurisée : votre mot de passe apparaît dans la commande et peut être enregistré dans l’historique de votre shell.

Précautions de sécurité

Lorsque vous utilisez l’authentification par mot de passe, gardez à l’esprit les points suivants :

  • Ne communiquez jamais vos identifiants à d’autres personnes.
  • Évitez de saisir votre mot de passe dans un lieu public.
  • De nombreux services d’hébergement Git, comme GitHub et GitLab, recommandent désormais d’utiliser des jetons d’accès personnels plutôt que des mots de passe.
  • Envisagez d’utiliser un gestionnaire d’identifiants pour éviter de saisir votre mot de passe à chaque fois.

Maintenant que vous connaissez les méthodes d’authentification, préparez-vous à cloner un dépôt à l’étape suivante.

Cloner un dépôt Git avec un nom d’utilisateur et un mot de passe

Dans cette étape, vous allez cloner un dépôt Git à l’aide d’un nom d’utilisateur et d’un mot de passe.

Préparer votre espace de travail

Commencez par accéder au répertoire du projet dans lequel vous souhaitez cloner le dépôt :

cd ~/project

Cloner un dépôt

Pour cet exercice, nous allons cloner un dépôt de test à l’aide du nom d’utilisateur labex_user et du mot de passe labex_password. L’URL du dépôt est http://localhost:8000/git-server/test-repo.git. Ce serveur HTTP local est isolé dans l’environnement du laboratoire afin que vous puissiez vous exercer à répondre à la demande de mot de passe. Pour les dépôts distants réels, utilisez HTTPS.

Exécutez la commande suivante pour cloner le dépôt :

git clone http://labex_user@localhost:8000/git-server/test-repo.git

Lorsque l’invite vous le demande, saisissez le mot de passe labex_password.

Si la commande précédente ne fonctionne pas, vous pouvez aussi utiliser la syntaxe combinée ci-dessous. Cette méthode est toutefois moins sécurisée dans un contexte réel :

git clone http://labex_user:labex_password@localhost:8000/git-server/test-repo.git

Résultat attendu

Après avoir exécuté la commande de clonage, vous devriez obtenir un résultat semblable à celui-ci :

Cloning into 'test-repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

Vérifier le clonage

Pour confirmer que le dépôt a bien été cloné, affichez le contenu du nouveau répertoire :

ls -la test-repo

Vous devriez voir le contenu du dépôt, notamment le fichier README.md et le répertoire .git :

total 16
drwxr-xr-x  3 labex labex 4096 Jul 15 12:34 .
drwxr-xr-x 10 labex labex 4096 Jul 15 12:34 ..
drwxr-xr-x  8 labex labex 4096 Jul 15 12:34 .git
-rw-r--r--  1 labex labex   16 Jul 15 12:34 README.md

Vous avez maintenant cloné le dépôt avec succès. Vous pouvez en examiner le contenu et commencer à travailler dessus.

Explorer et utiliser le dépôt cloné

Dans cette étape, vous allez explorer le dépôt cloné et apporter une petite modification à son fichier README.

Accéder au répertoire du dépôt

Commencez par accéder au dépôt cloné :

cd ~/project/test-repo

Afficher le contenu du dépôt

Pour afficher le contenu du dépôt, utilisez la commande ls :

ls -la

Vous devriez voir le fichier README.md et le répertoire .git :

total 16
drwxr-xr-x  3 labex labex 4096 Jul 15 12:34 .
drwxr-xr-x 10 labex labex 4096 Jul 15 12:34 ..
drwxr-xr-x  8 labex labex 4096 Jul 15 12:34 .git
-rw-r--r--  1 labex labex   16 Jul 15 12:34 README.md

Afficher le fichier README.md

Affichez le contenu du fichier README.md :

cat README.md

Le fichier devrait contenir :

## Test Repository

Vérifier l’état de Git

Pour vérifier l’état du dépôt, utilisez la commande git status :

git status

Le résultat devrait indiquer que vous vous trouvez sur la branche main et que votre répertoire de travail est propre :

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Consulter l’historique des commits

Pour consulter l’historique des commits du dépôt, utilisez la commande git log :

git log

Vous devriez voir le commit initial :

commit abcdef1234567890abcdef1234567890abcdef12 (HEAD -> master, origin/master)
Author: LabEx User <labex@example.com>
Date:   Mon Jul 15 12:34:56 2023 +0000

    Initial commit

Modifier le dépôt

Apportez une modification simple au fichier README.md :

echo "This is a test repository for learning Git authentication." >> README.md

Affichez le contenu mis à jour :

cat README.md

Le fichier devrait maintenant ressembler à ceci :

## Test Repository
This is a test repository for learning Git authentication.

Vous avez maintenant cloné un dépôt Git avec un nom d’utilisateur et un mot de passe, exploré son contenu et modifié un fichier. Dans un contexte réel, vous valideriez ces modifications, puis les enverriez vers le dépôt distant ; cette opération nécessiterait également une authentification.

Résumé

Dans ce laboratoire, vous avez appris à :

  • Comprendre les bases de Git et le clonage d’un dépôt
  • Découvrir différentes méthodes d’authentification Git, notamment celle qui utilise un nom d’utilisateur et un mot de passe
  • Cloner un dépôt Git en utilisant la syntaxe correcte pour fournir un nom d’utilisateur et un mot de passe
  • Prendre en compte les précautions de sécurité liées à l’authentification par mot de passe
  • Explorer un dépôt cloné et y apporter des modifications

Ces compétences sont indispensables aux développeurs qui travaillent en équipe. Même si l’authentification par nom d’utilisateur et mot de passe est courante, de nombreux services d’hébergement Git adoptent des méthodes plus sûres, comme les jetons d’accès personnels ou les clés SSH. Comprendre les principes de l’authentification Git vous aidera à travailler efficacement avec tout flux de travail basé sur Git.