Lesson 3/8 8 min

Why Git

Understand the problem Git solves: the end of project_final_v2_REALLY_final folders and the time machine for your code.

FR EN

Le dossier de la honte

Tout le monde a connu ce dossier. Celui qui contient :

projet.zip
projet_v2.zip
projet_final.zip
projet_final_v2.zip
projet_final_VRAIMENT_final.zip
projet_final_VRAIMENT_final_corrige.zip

Vous vouliez tester une idée sans casser ce qui marchait, alors vous avez fait une copie. Puis une autre. Et un jour, impossible de savoir laquelle était la bonne, ce qui a changé entre deux, ni comment revenir à la version d'avant ce changement qui a tout cassé.

Pire encore en équipe : deux personnes modifient le même fichier, s'envoient leurs versions par mail, et l'une écrase le travail de l'autre. Git est né exactement pour résoudre ce cauchemar.

Un système de gestion de versions

Git est un système de gestion de versions (VCS, version control system). Son rôle : enregistrer l'historique complet de votre projet, automatiquement et proprement, à la place de vos copies de dossiers manuelles.

Au lieu de dupliquer le dossier entier à chaque étape, vous demandez à Git de prendre une photo de votre projet à un instant donné. Cette photo s'appelle un commit. Git ne garde pas mille copies du dossier : il retient intelligemment ce qui a changé entre chaque photo.

Résultat : un seul dossier de projet, mais un historique complet derrière. Et plus de noms de fichiers à rallonge.

La machine à remonter le temps

L'image la plus juste pour comprendre Git : c'est une machine à remonter le temps pour votre code.

Chaque commit est un point de sauvegarde, comme dans un jeu vidéo. À tout moment, vous pouvez :

  • Voir l'historique — qui a changé quoi, quand, et pourquoi.
  • Comparer deux versions — ce qui a été ajouté ou supprimé entre deux moments.
  • Revenir en arrière — restaurer une version qui fonctionnait, sans rien perdre du reste.

Cette sécurité change tout : on ose expérimenter. On peut casser, tester une idée folle, partir dans une mauvaise direction... et revenir en un instant à l'état stable précédent. Le filet de sécurité est ce qui rend le développement serein.

Travailler à plusieurs sans se marcher dessus

Git brille en équipe. Plusieurs personnes travaillent sur le même projet, chacune de son côté, et Git se charge de fusionner les contributions intelligemment.

Si Alice modifie la page d'accueil pendant que Bob corrige le formulaire de contact, Git combine les deux travaux sans que personne n'écrase l'autre. Et quand deux personnes touchent vraiment la même ligne, Git le signale clairement au lieu de choisir au hasard : c'est un conflit, qu'on apprendra à résoudre plus tard dans ce cours.

Git n'est pas GitHub. Git est l'outil de gestion de versions qui tourne sur votre machine, gratuit et indépendant. GitHub (comme GitLab ou Bitbucket) est un service en ligne qui héberge vos dépôts Git pour les partager et collaborer. On peut utiliser Git sans GitHub. On verra GitHub en détail dans une leçon dédiée.

The folder of shame

Everyone has had that folder. The one containing:

project.zip
project_v2.zip
project_final.zip
project_final_v2.zip
project_final_REALLY_final.zip
project_final_REALLY_final_fixed.zip

You wanted to test an idea without breaking what worked, so you made a copy. Then another. And one day, you could no longer tell which one was the good one, what changed between two, or how to go back to the version before the change that broke everything.

Even worse in a team: two people edit the same file, send each other their versions by email, and one overwrites the other's work. Git was born precisely to solve this nightmare.

A version control system

Git is a version control system (VCS). Its job: to record the full history of your project, automatically and cleanly, instead of your manual folder copies.

Instead of duplicating the whole folder at each step, you ask Git to take a snapshot of your project at a given moment. This snapshot is called a commit. Git does not keep a thousand copies of the folder: it smartly remembers what changed between each snapshot.

The result: a single project folder, but a full history behind it. And no more endless file names.

The time machine

The most accurate image for understanding Git: it is a time machine for your code.

Each commit is a save point, like in a video game. At any moment, you can:

  • View the history — who changed what, when, and why.
  • Compare two versions — what was added or removed between two moments.
  • Go back — restore a working version without losing the rest.

This safety changes everything: you dare to experiment. You can break things, try a wild idea, head in a wrong direction... and return in an instant to the previous stable state. The safety net is what makes development calm.

Working together without stepping on each other

Git shines in a team. Several people work on the same project, each on their side, and Git takes care of merging the contributions intelligently.

If Alice edits the homepage while Bob fixes the contact form, Git combines both works without anyone overwriting the other. And when two people genuinely touch the same line, Git clearly flags it instead of choosing at random: that is a conflict, which we will learn to resolve later in this course.

Git is not GitHub. Git is the version control tool that runs on your machine, free and independent. GitHub (like GitLab or Bitbucket) is an online service that hosts your Git repositories to share and collaborate. You can use Git without GitHub. We will cover GitHub in detail in a dedicated lesson.

Avec l'IA

Pour ancrer le concept avec vos propres mots, demandez à l'IA une analogie sur mesure :

Je débute totalement et je n'ai jamais utilisé de gestion de versions. Explique-moi Git avec une analogie de la vie quotidienne, sans aucun jargon technique. Puis explique la différence entre Git et GitHub en une phrase simple. Enfin, donne-moi trois situations concrètes où Git m'aurait évité de perdre du travail.
Ré-explique sans regarder

Sans relire la réponse de l'IA : avec tes mots, quelle est la différence entre Git et GitHub, et peut-on utiliser l'un sans l'autre ?

Une bonne explication dit : Git est l'outil de gestion de versions qui tourne en local sur ta machine, gratuit et indépendant ; il enregistre l'historique sous forme de commits. GitHub (comme GitLab ou Bitbucket) est un service en ligne qui héberge tes dépôts Git pour les partager et collaborer. Donc oui : on peut utiliser Git seul, en local, sans jamais ouvrir de compte GitHub. GitHub a besoin de Git, l'inverse n'est pas vrai.
Exercice : expliquer Git avec vos mots

En quelques phrases, expliquez à un proche non technicien ce que résout Git. Votre réponse doit évoquer au moins : l'historique (ou les versions), le fait de revenir en arrière, et la collaboration à plusieurs.

Accepter ou rejeter le code de l'IA

Tu demandes à l'IA de te montrer comment enregistrer ton travail dans Git. Elle te propose ceci. Ton rôle de relecteur : l'accepter tel quel ou le rejeter, et dire pourquoi.

git add .
git commit -m "fix"
À rejeter (ou plutôt à corriger). Les commandes elles-mêmes ne sont pas fausses, mais le message "fix" trahit la promesse même de Git. Toute la leçon dit que Git garde l'historique du qui a changé quoi, quand et pourquoi : un message vague comme "fix" rend cet historique inutile. Dans six mois, ni toi ni un collègue ne saurez ce que ce commit a corrigé. Le réflexe pro : un message qui décrit l'intention, par exemple git commit -m "Corrige l'affichage de la date sur la fiche produit".
Rappel libre

Sans remonter dans la leçon : quel problème Git résout-il à la place des dossiers projet_final_v2, et qu'est-ce qu'un commit ?

Git enregistre l'historique complet d'un projet dans un seul dossier, à la place des copies manuelles : on peut voir qui a changé quoi et quand, comparer deux versions et revenir à un état stable sans rien perdre. Un commit est une photo du projet à un instant donné, un point de sauvegarde ; Git ne stocke pas mille copies, il retient seulement ce qui a changé entre chaque commit.
Comment s'appelle une photo de votre projet à un instant donné dans Git ?
Quelle est la différence entre Git et GitHub ?
Quel problème Git résout-il principalement ?
Next step

You understand why Git exists and what it brings compared to the folder of shame. Time to get hands-on: the next lesson walks you through your first commits, following the full loop across Git's three areas.

Lesson 4: First commits →
Besoin d'un développeur pour votre projet ?

Réponse sous 24h · Sans engagement