Votre premier lab Git

GitBeginner
Pratiquer maintenant

Introduction

Bienvenue dans votre première aventure passionnante dans le monde de Git ! Si vous avez déjà rêvé de pouvoir remonter le temps pour corriger une erreur dans votre travail, ou si vous avez eu du mal à suivre l'évolution des modifications dans vos projets, vous allez être comblé. Git est comme une machine à remonter le temps pour votre code et vos documents, et à la fin de ce lab, vous aurez le pouvoir de la contrôler !

Ne vous inquiétez pas si vous n'avez jamais entendu parler de Git auparavant : nous partirons de zéro et vous guiderons à chaque étape. À la fin de ce lab, vous comprendrez comment créer un dépôt Git, suivre les modifications et effectuer des « commits » (enregistrements). Ce sont les compétences fondamentales que les développeurs du monde entier utilisent quotidiennement pour créer des logiciels incroyables. Commençons notre aventure !

Ceci est un Lab Guidé, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour terminer chaque étape et acquérir une expérience pratique. Les données historiques montrent qu'il s'agit d'un lab de niveau intermédiaire avec un taux de réussite de 79%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Création de votre laboratoire secret

Avant de plonger dans Git, installons 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 paniquez pas, ce 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 fait chacune de ces formules :

  1. cd ~/project : Cela vous téléporte dans votre dossier de projets.
  2. mkdir my-time-machine : Cela crée un nouveau dossier nommé « my-time-machine ».
  3. cd my-time-machine : Cela vous déplace à l'intérieur de 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 ? Dans le monde de la programmation, l'organisation de votre travail est cruciale. À mesure que vos projets grandiront, vous apprécierez d'avoir un espace dédié pour chacun d'entre eux.

Initialisation de 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 jargon du code, nous appelons cette machine un « dépôt Git » (ou 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/

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

Imaginez que vous écrivez une histoire. Vous pourriez vouloir essayer différentes fins, ou supprimer accidentellement un paragraphe que vous aimiez vraiment. Sans Git, vous devriez enregistrer manuellement différentes versions de votre histoire, ce qui donnerait des fichiers comme « histoire_final.txt », « histoire_final_v2.txt », « histoire_final_VRAIMENT_FINAL.txt ». Cela vous rappelle quelque chose ?

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 vers n'importe quelle version précédente, ou créer des chronologies alternatives (que nous appelons des « branches ») pour expérimenter de nouvelles 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érification de l'état de votre machine à remonter le temps

Maintenant que nous avons notre machine, voyons ce qu'elle peut nous dire. Avec Git, nous utilisons pour cela la commande git status. C'est comme demander à votre machine : « Qu'est-ce qui se passe en ce moment ? »

Essayez par vous-même :

git status

Vous devriez voir quelque chose comme ceci :

On branch master

No commits yet

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

Cela peut paraître un peu confus, alors décomposons-le :

  • « On branch master » : Imaginez une branche comme une chronologie. « master » est la chronologie 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 point de sauvegarde.
  • « nothing to commit » : Il n'y a aucune modification à enregistrer pour Git car nous n'avons pas encore créé de fichiers.

Vous vous demandez peut-être : « Pourquoi tout cela juste pour enregistrer des fichiers ? ». Excellente question ! Contrairement à une sauvegarde classique, Git vous permet de conserver plusieurs versions de votre projet au fil du temps. Cela signifie que vous pouvez expérimenter librement, sachant que vous pourrez toujours revenir à une version antérieure si quelque chose tourne mal. C'est comme avoir un bouton « annuler » illimité pour l'ensemble de votre projet !

Création de votre premier fichier

Maintenant, créons quelque chose que notre machine pourra suivre. Nous allons commencer par un message simple dans un fichier :

echo "Hello, Future Me" > message.txt

Cette commande crée un nouveau fichier nommé message.txt contenant le texte « Hello, Future Me ».

Vérifions ce que nous avons écrit :

cat message.txt

Vous devriez voir :

Hello, Future Me

Super ! Nous avons créé notre premier fichier. Mais c'est ici que la magie de Git opère. 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 placée dans notre capsule temporelle (le dépôt Git).

Dans les prochaines étapes, nous verrons comment Git réagit à ce nouveau fichier et comment nous pouvons commencer à suivre ses modifications. C'est là que Git commence à se distinguer d'une simple sauvegarde de fichiers. Avec Git, vous pourrez voir exactement ce qui a changé, quand cela a changé et pourquoi. Imaginez à quel point cela sera utile lorsque vous travaillerez sur un gros projet !

Vérification de l'état à nouveau

Maintenant que nous avons créé un fichier, demandons à notre machine ce qu'elle voit. Lancez à 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)

Passionnant ! Git a remarqué notre nouveau fichier, mais il nous indique qu'il est « untracked » (non suivi). C'est l'un des aspects géniaux de Git : il ne suit pas automatiquement tous les fichiers de votre dossier. Cela vous donne le contrôle total sur les modifications que vous souhaitez inclure dans l'historique de votre projet.

Vous vous dites peut-être : « Pourquoi ne pas tout suivre automatiquement ? ». Eh bien, imaginez que vous travaillez sur un projet d'envergure. Vous pourriez avoir des fichiers que vous ne voulez pas suivre, comme des notes personnelles ou des fichiers temporaires. Git vous permet de choisir ce qui est important, gardant ainsi l'historique de votre projet propre et pertinent.

Dans l'étape suivante, nous dirons à Git que nous voulons suivre ce fichier. C'est là que Git commence à ressembler à un super-pouvoir : vous allez créer votre premier point de sauvegarde temporel !

Préparation de votre premier point de sauvegarde

Maintenant, nous allons indiquer à Git que nous voulons inclure message.txt dans notre prochain point de sauvegarde (ou « commit »). Nous utilisons pour cela la commande git add :

git add message.txt

Cette commande ne produit aucune sortie visible, mais elle a ordonné à Git de commencer à suivre message.txt.

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

git status

Vous devriez maintenant 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 « committé ». Ce processus en deux étapes (ajouter puis valider) peut sembler un peu complexe au début, mais c'est en réalité l'une des forces de Git.

Imaginez que vous préparez une capsule temporelle. La commande git add revient à décider de ce que vous voulez mettre dans la capsule, et le commit (que nous ferons ensuite) revient à sceller 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 sur des projets plus importants. Vous pourriez modifier dix fichiers, mais ne vouloir enregistrer les modifications que de trois d'entre eux. La zone de transit de Git (l'endroit où se trouve message.txt actuellement) vous permet de faire exactement cela !

Création de votre premier point de sauvegarde (Commit)

Passons maintenant à la partie la plus excitante : nous allons créer notre premier commit ! Un commit, c'est comme sceller une capsule temporelle. Il enregistre 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 une sortie similaire à celle-ci :

[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 ce qui rend Git si puissant. Chaque commit est un instantané de l'intégralité de votre projet à ce moment précis. Vous pouvez créer autant d'instantanés que vous le souhaitez, constituant ainsi un historique détaillé de votre travail.

Imaginez que vous rédigiez une dissertation. 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 », « Conclusion ajoutée », « Introduction corrigée », etc. Vous pouvez même revenir à n'importe lequel de ces points si nécessaire !

Consultation de votre journal de voyage temporel

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 <your.email@example.com>
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 suite de lettres et de chiffres).
  • L'auteur du commit.
  • La date et l'heure du commit.
  • Le message de commit que nous avons écrit.

Ce journal est comme la chronologie de votre projet. À mesure que vous ferez d'autres commits, ils s'ajouteront à ce journal, créant un historique complet. C'est incroyablement utile pour comprendre comment votre projet a évolué au fil du temps, ou pour retrouver quand une modification spécifique a été apportée.

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

Imaginez que vous collaboriez sur un projet de groupe. Avec Git, vous pouvez voir qui a fait chaque modification et pourquoi, ce qui facilite grandement 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 fluide !

Résumé

Félicitations, voyageur temporel ! Vous venez de terminer votre première aventure avec Git. Récapitulons les choses incroyables que vous avez apprises :

  1. Comment créer un dépôt Git (votre machine à remonter le temps) avec 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 avec git add.
  4. Comment créer un commit (un point de sauvegarde temporel) avec git commit.
  5. Comment consulter l'historique de votre projet avec git log.

Vous vous demandez peut-être encore : « Pourquoi se donner tout ce mal juste pour enregistrer des fichiers ? ». Voici pourquoi Git est si puissant :

  1. Historique détaillé : Avec Git, vous avez un historique complet de votre projet. Vous voyez ce qui a changé, quand et pourquoi.
  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 : En équipe, Git permet de voir facilement qui a fait quoi, facilitant la synchronisation.
  4. Sauvegarde : Chaque dépôt Git est une sauvegarde complète de votre projet, incluant tout son historique.

Ce sont les briques fondamentales que les développeurs utilisent chaque jour pour créer des logiciels exceptionnels. Au fil de votre progression, vous vous appuierez sur ces bases pour gérer des projets plus complexes et collaborer avec d'autres.

Rappelez-vous, tout le monde commence un jour. Même les développeurs les plus expérimentés ont été à votre place. Continuez à pratiquer, continuez à expérimenter et, surtout, amusez-vous !

Si vous souhaitez en savoir plus sur LabEx et comment l'utiliser, vous pouvez visiter notre Centre de Support. Vous pouvez également regarder cette vidéo pour en découvrir davantage sur LabEx.

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