Votre premier laboratoire Git

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

Bienvenue dans votre première et passionnante aventure dans le monde de Git! Si vous avez déjà souhaité pouvoir revenir en arrière pour corriger une erreur dans votre travail, ou si vous avez eu du mal à suivre les modifications de vos projets, vous êtes au bon endroit. Git est comme une machine à remonter le temps pour votre code et vos documents, et à la fin de ce laboratoire, vous aurez le pouvoir de le maîtriser!

Ne vous inquiétez pas si vous n'avez jamais entendu parler de Git auparavant - nous allons commencer depuis le début et vous guider à chaque étape. À la fin de ce laboratoire, vous comprendrez comment créer un dépôt Git (repository), suivre les modifications et effectuer des validations (commits). Ce sont les compétences fondamentales que les développeurs du monde entier utilisent tous les jours pour créer des logiciels incroyables. Commençons notre aventure!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/status("Check Status") git/BasicOperationsGroup -.-> git/commit("Create Commit") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills linux/echo -.-> lab-92739{{"Votre premier laboratoire Git"}} git/init -.-> lab-92739{{"Votre premier laboratoire Git"}} git/add -.-> lab-92739{{"Votre premier laboratoire Git"}} git/status -.-> lab-92739{{"Votre premier laboratoire Git"}} git/commit -.-> lab-92739{{"Votre premier laboratoire Git"}} linux/cat -.-> lab-92739{{"Votre premier laboratoire Git"}} git/log -.-> lab-92739{{"Votre premier laboratoire Git"}} end

Créer votre laboratoire secret

Avant de plonger dans le monde de Git, configurons un espace de travail. Imaginez cela comme la création d'un laboratoire secret où toutes vos expériences auront lieu.

Ouvrez votre terminal

Ouvrez votre terminal (ne vous inquiétez pas, il n'est pas aussi effrayant qu'il n'y paraît!) et tapez ces mots magiques :

cd ~/project
mkdir my-time-machine
cd my-time-machine

Voici ce que chaque incantation fait :

  1. cd ~/project : Cela vous téléporte dans votre dossier de projet.
  2. mkdir my-time-machine : Cela crée un nouveau dossier appelé "my-time-machine".
  3. cd my-time-machine : Cela vous déplace dans votre nouveau laboratoire secret.

Félicitations! Vous venez de créer un espace pour votre premier projet Git. Mais pourquoi avons-nous besoin de ce dossier spécial? Eh bien, dans le monde du codage, organiser votre travail est essentiel. Au fur et à mesure que vos projets grandiront, vous serez reconnaissant d'avoir un espace dédié à chacun d'eux.

Initialiser votre machine à remonter le temps (dépôt Git)

Maintenant que nous avons notre laboratoire secret, il est temps de construire notre machine à remonter le temps! Dans le monde du codage, nous appelons cette machine à remonter le temps un "dépôt Git (repository)".

Tapez cette commande dans votre terminal :

git init

Vous devriez voir un message comme celui-ci :

Initialized empty Git repository in /home/labex/project/my-time-machine/.git/

Wow! Vous venez de créer votre propre machine à remonter le temps! Mais pourquoi avons-nous besoin d'une machine à remonter le temps pour notre code?

Imaginez que vous écrivez une histoire. Vous pourriez vouloir essayer différents endings (fin), ou vous pourriez supprimer accidentellement un paragraphe que vous aimiez particulièrement. Sans Git, vous devriez sauvegarder manuellement différentes versions de votre histoire, ce qui vous mènerait à avoir des fichiers tels que "story_final.txt", "story_final_v2.txt", "story_final_REALLY_FINAL.txt". Cela vous semble familier?

Git résout ce problème. Il vous permet de sauvegarder différentes versions de votre travail sans créer de multiples fichiers. Vous pouvez facilement revenir en arrière à n'importe quelle version précédente, ou créer des scénarios alternatifs (nous les appelons des "branches") pour tester différentes idées. C'est pourquoi les développeurs adorent Git - il leur donne la liberté d'expérimenter sans craindre de perdre leur travail.

Vérifier l'état de votre machine à remonter le temps

Maintenant que nous avons notre machine à remonter le temps, voyons ce qu'elle peut nous dire. Dans Git, nous le faisons avec la commande git status. C'est comme demander à votre machine à remonter le temps : "Qu'est-ce qui se passe en ce moment?"

Essayez-le :

git status

Vous devriez voir quelque chose comme cela :

On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

Cela peut sembler un peu confus, mais décomposons-le :

  • "On branch master" : Imaginez une branche (branch) comme une ligne temporelle. "master" est la ligne temporelle principale de votre projet.
  • "No commits yet" : Un commit est comme un point de sauvegarde dans un jeu vidéo. Nous n'avons pas encore créé de points de sauvegarde.
  • "nothing to commit" : Il n'y a pas de modifications pour Git à enregistrer car nous n'avons pas encore créé de fichiers.

Vous vous demandez peut-être : "Pourquoi avons-nous besoin de tout cela juste pour sauvegarder des fichiers?" Très bonne question! Contrairement à une sauvegarde classique, Git vous permet de sauvegarder plusieurs versions de votre projet au fil du temps. Cela signifie que vous pouvez expérimenter librement, sachant que vous pouvez toujours revenir à une version précédente si quelque chose ne va pas. C'est comme avoir un "annuler" illimité pour tout votre projet!

Créer votre premier fichier

Maintenant, créons quelque chose pour que notre machine à remonter le temps le suive. Nous allons commencer par un simple message dans un fichier :

echo "Hello, Future Me" > message.txt

Cette commande crée un nouveau fichier appelé message.txt contenant le texte "Hello, Future Me".

Vérifions ce que nous avons écrit :

cat message.txt

Vous devriez voir :

Hello, Future Me!

Parfait! Nous avons créé notre premier fichier. Mais c'est ici que la magie de Git commence. Pour l'instant, ce fichier existe sur votre ordinateur, mais Git ne le suit pas encore. C'est comme si nous avions écrit une note, mais que nous ne l'avions pas encore mise dans notre capsule temporelle (dépôt Git).

Dans les étapes suivantes, nous verrons comment Git réagit à ce nouveau fichier et comment nous pouvons commencer à suivre les modifications qui lui sont apportées. C'est là que Git commence à briller par rapport à une simple sauvegarde de fichiers. Avec Git, vous pourrez voir exactement ce qui a changé, quand cela a changé et pourquoi cela a changé. Imaginez à quel point cela serait utile lors du travail sur un grand projet!

Vérifier l'état à nouveau

Maintenant que nous avons créé un fichier, demandons à notre machine à remonter le temps ce qu'elle voit. Exécutez à nouveau la commande git status :

git status

Cette fois, vous devriez voir quelque chose de différent :

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        message.txt

nothing added to commit but untracked files present (use "git add" to track)

C'est passionnant! Git a remarqué notre nouveau fichier, mais il nous dit qu'il est "non suivi" (untracked). C'est l'un des aspects sympas de Git - il ne suit pas automatiquement tous les fichiers de votre dossier. Cela vous donne le contrôle sur les modifications que vous souhaitez inclure dans l'historique de votre projet.

Vous vous demandez peut-être : "Pourquoi ne pas tout suivre automatiquement?" Eh bien, imaginez que vous travaillez sur un grand projet. Vous pourriez avoir certains fichiers que vous ne voulez pas suivre, comme des notes personnelles ou des fichiers temporaires. Git vous permet de choisir ce qui est important à suivre, en gardant l'historique de votre projet propre et significatif.

Dans l'étape suivante, nous allons dire à Git que nous voulons suivre ce fichier. C'est là que Git commence à ressembler à un super-pouvoir - vous êtes sur le point de créer votre premier point de sauvegarde dans le temps!

Préparer votre premier point de sauvegarde

Maintenant, nous allons dire à Git que nous voulons inclure message.txt dans notre prochain point de sauvegarde (ou "commit" en termes de Git). Nous le faisons avec la commande git add :

git add message.txt

Cette commande ne produit aucun résultat visible, mais elle a indiqué à Git de commencer à suivre message.txt.

Vérifions l'état à nouveau pour voir ce qui a changé :

git status

Maintenant, vous devriez voir :

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   message.txt

Regardez ça! Git suit maintenant notre fichier et il est prêt à être validé (committed). Ce processus en deux étapes d'ajout puis de validation peut sembler un peu compliqué au départ, mais c'est en fait l'un des super-pouvoirs de Git.

Imaginez que vous préparez une capsule temporelle. La commande git add est comme décider de ce que vous voulez mettre dans la capsule, et le commit (que nous ferons ensuite) est comme sceller effectivement la capsule. Cela vous permet de choisir soigneusement ce qui entre dans chaque point de sauvegarde de l'historique de votre projet.

Cette fonctionnalité est incroyablement utile lorsque vous travaillez sur des projets plus importants. Vous pourriez modifier dix fichiers, mais ne vouloir valider que les modifications de trois d'entre eux. La zone de préparation (staging area) de Git (où se trouve maintenant message.txt) vous permet de faire exactement cela!

Créer votre premier point de sauvegarde (commit)

Maintenant, passons à la partie excitante : nous allons créer notre premier commit! Un commit est comme sceller une capsule temporelle. Il sauvegarde l'état actuel de tous les fichiers suivis et ajoute un message décrivant ce qui a changé.

Voici la commande pour créer un commit :

git commit -m "Send a message to the future"

Vous devriez voir un résultat similaire à ceci :

[master (root-commit) a1b2c3d] Send a message to the future
 1 file changed, 1 insertion(+)
 create mode 100644 message.txt

Félicitations! Vous venez de créer votre premier commit Git. Vous avez officiellement sauvegardé un point dans le temps de votre projet auquel vous pourrez toujours revenir.

C'est pourquoi Git est si puissant. Chaque commit est une capture d'écran de tout votre projet à ce moment-là. Vous pouvez créer autant de ces captures d'écran que vous le souhaitez, ce qui vous donne un historique détaillé de votre projet.

Imaginez que vous travaillez sur une dissertation scolaire. Avec une sauvegarde classique, vous n'avez que la dernière version. Mais avec Git, vous pouvez avoir des points de sauvegarde pour "Premier brouillon", "Ajout de la conclusion", "Correction de l'introduction", etc. Vous pouvez même revenir à l'un de ces points si vous en avez besoin!

Consulter votre journal de voyage dans le temps

Maintenant que nous avons effectué notre premier commit, consultons l'historique de notre projet. Nous pouvons le faire avec la commande git log :

git log

Vous devriez voir quelque chose comme ceci :

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Your Name <[email protected]>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

Cette entrée de journal nous montre plusieurs informations :

  • Un identifiant unique pour le commit (cette longue chaîne de lettres et de chiffres)
  • Qui a effectué le commit
  • Quand le commit a été effectué
  • Le message de commit que nous avons écrit

Ce journal est comme la chronologie de votre projet. Au fur et à mesure que vous effectuerez plus de commits, ils seront ajoutés à ce journal, créant ainsi un historique complet de votre projet. Cela est incroyablement utile lorsque vous essayez de comprendre comment votre projet a évolué au fil du temps, ou lorsque vous devez trouver quand un changement particulier a été effectué.

Appuyez sur q pour quitter le journal et revenir à la ligne de commande. N'oubliez pas que vous pouvez toujours appuyer sur q pour quitter toute vue en plein écran dans Git.

Imaginez que vous collaboriez sur un projet de groupe. Avec Git, vous pouvez voir qui a effectué chaque changement et pourquoi, ce qui facilite énormément la coordination avec votre équipe. C'est l'une des raisons pour lesquelles Git est utilisé par les développeurs du monde entier - il rend la collaboration beaucoup plus facile!

Résumé

Félicitations, voyageur dans le temps! Vous venez de terminer votre première aventure avec Git. Faisons un rapide récapitulatif des choses incroyables que vous avez apprises :

  1. Comment créer un dépôt Git (votre machine à remonter le temps) en utilisant git init
  2. Comment vérifier l'état de votre dépôt avec git status
  3. Comment créer des fichiers et les préparer pour un commit en utilisant git add
  4. Comment créer un commit (un point de sauvegarde dans le temps) avec git commit
  5. Comment consulter l'historique de votre projet en utilisant git log

Vous vous demandez peut-être : "Pourquoi passer par tout ceci juste pour sauvegarder des fichiers?" C'est une excellente question! Voici pourquoi Git est si puissant :

  1. Historique détaillé : Avec Git, vous avez un historique complet de votre projet. Vous pouvez voir ce qui a changé, quand il a changé et pourquoi il a changé.
  2. Expérimentation : Git vous permet d'expérimenter librement. Vous pouvez créer différentes versions de votre projet sans craindre de perdre votre travail original.
  3. Collaboration : Lorsque vous travaillez en équipe, Git facilite la visualisation de qui a effectué quels changements et pourquoi.
  4. Sauvegarde : Chaque dépôt Git est une sauvegarde complète de votre projet, y compris tout son historique.

Ce sont les éléments de base que les développeurs utilisent tous les jours pour créer des logiciels incroyables. Au fur et à mesure de votre progression, vous allez vous appuyer sur ces bases pour gérer des projets plus complexes et collaborer avec d'autres personnes.

N'oubliez pas que tout le monde commence en tant que débutant. Même les développeurs les plus expérimentés ont déjà été à votre place. Continuez à pratiquer, à expérimenter et, surtout, amusez-vous bien!

Si vous voulez en savoir plus sur LabEx et comment l'utiliser, vous pouvez visiter notre Centre d'assistance. Ou vous pouvez regarder la vidéo pour en savoir plus sur LabEx.

Votre voyage dans le monde de la programmation et du contrôle de version vient de commencer. Le Prochain laboratoire n'est qu'à un clic de distance. Continuons d'explorer et de développer vos compétences! Qui sait quels projets incroyables vous créerez avec vos nouveaux super-pouvoirs Git?