« J'ai un projet, et maintenant ? »
Vous avez compris pourquoi Git existe. Reste à l'utiliser pour de vrai. La bonne nouvelle : 90 % du travail quotidien tient dans une boucle de cinq commandes, toujours les mêmes.
Vous modifiez des fichiers, vous regardez ce qui a changé, vous sélectionnez ce que vous voulez enregistrer, vous prenez la photo, et vous vérifiez l'historique. Encore et encore. Une fois ce réflexe acquis, Git devient une seconde nature.
On va dérouler cette boucle pas à pas sur un mini-projet.
Les trois zones de Git
Pour comprendre les commandes, il faut d'abord visualiser les trois endroits où vivent vos fichiers :
Un changement voyage de gauche à droite : vous éditez un fichier (répertoire de travail), vous le placez dans la zone de staging avec git add, puis vous le figez dans le dépôt avec git commit. La zone de staging est ce qui rend Git si précis : vous choisissez exactement ce qui entre dans chaque photo.
git add puis git commit.La boucle complète, en vrai
Voici une session réelle, du dossier vide au premier commit :
$ git init
Initialized empty Git repository in /home/alice/mon-site/.git/
$ touch index.html
$ git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.html
$ git add index.html
$ git commit -m "Ajoute la page d'accueil"
[main (root-commit) a1b2c3d] Ajoute la page d'accueil
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.html
$ git log --oneline
a1b2c3d Ajoute la page d'accueil
git init crée le dépôt (un dossier caché .git). git status montre l'état des fichiers à tout moment : c'est la commande que vous taperez le plus souvent. git add place un fichier en staging. git commit -m fige le tout avec un message. git log affiche l'historique.
Écrire de bons messages de commit
Le message de commit explique pourquoi ce changement existe. Dans six mois, c'est lui qui vous sauvera. Comparez :
Mauvais
update
fix
truc
aaa
Bon
Ajoute la validation de l'email du formulaire
Corrige le calcul de TVA arrondi au centime
La convention : un verbe à l'impératif, une ligne courte et précise. « Ajoute », « Corrige », « Supprime ». On décrit l'effet du commit, pas le détail technique.
Bonne pratique : commitez petit et souvent. Un commit = un changement logique cohérent. Plutôt que dix modifications dans un seul commit géant, faites dix petits commits ciblés. C'est plus facile à relire, à comprendre, et à annuler si l'un d'eux pose problème.
"I have a project, now what?"
You understood why Git exists. Now you need to actually use it. The good news: 90% of daily work fits in a loop of five commands, always the same ones.
You edit files, you look at what changed, you select what you want to save, you take the snapshot, and you check the history. Again and again. Once this reflex sets in, Git becomes second nature.
Let's walk through this loop step by step on a mini-project.
Git's three areas
To understand the commands, you first need to picture the three places where your files live:
A change travels from left to right: you edit a file (working directory), you place it in the staging area with git add, then you freeze it in the repository with git commit. The staging area is what makes Git so precise: you choose exactly what goes into each snapshot.
git add then git commit.The full loop, for real
Here is a real session, from an empty folder to the first commit:
$ git init
Initialized empty Git repository in /home/alice/my-site/.git/
$ touch index.html
$ git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.html
$ git add index.html
$ git commit -m "Add the homepage"
[main (root-commit) a1b2c3d] Add the homepage
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.html
$ git log --oneline
a1b2c3d Add the homepage
git init creates the repository (a hidden .git folder). git status shows the state of files at any time: the command you will type most often. git add stages a file. git commit -m freezes everything with a message. git log shows the history.
Writing good commit messages
The commit message explains why this change exists. In six months, it is what will save you. Compare:
Bad
update
fix
stuff
aaa
Good
Add email validation to the form
Fix VAT rounding to the cent
The convention: an imperative verb, a short and precise line. "Add", "Fix", "Remove". You describe the effect of the commit, not the technical detail.
Best practice: commit small and often. One commit = one coherent logical change. Rather than ten edits in a single giant commit, make ten small focused commits. It is easier to review, to understand, and to undo if one of them causes a problem.
Vous ne savez pas comment résumer vos changements ? Collez le résultat de git diff à l'IA :
Voici le résultat de ma commande git diff (je vais le coller en dessous). Propose-moi trois messages de commit possibles, en français, à l'impératif, en une seule ligne courte chacun, qui décrivent le pourquoi du changement et pas seulement le quoi. Explique en une phrase lequel des trois tu recommandes.
Sans relire ci-dessus : pourquoi colle-t-on le résultat de git diff à l'IA pour rédiger un message de commit, et pourquoi reste-t-on celui qui choisit le message final ?
git diff montre exactement les lignes changées, donc l'IA a le contexte réel et ne devine pas. Mais l'IA voit le quoi, pas le pourquoi : c'est toi qui sais l'intention. Tu pars de ses propositions à l'impératif, tu gardes celle qui décrit l'effet du changement, et tu la corriges si besoin. L'IA accélère la rédaction, elle ne décide pas à ta place.Écrivez la suite de commandes pour : initialiser un dépôt, ajouter le fichier index.html en staging, et créer un commit avec un message clair. Utilisez git init, git add et git commit -m.
L'IA a corrigé un arrondi de TVA et te propose ce commit. Ton rôle de relecteur : l'accepter tel quel ou le rejeter, et dire pourquoi.
$ git add .
$ git commit -m "fix"
"fix" n'apprend rien ; dans six mois personne ne saura quel bug a été corrigé. Il fallait quelque chose comme "Corrige l'arrondi de TVA au centime". Ensuite le git add . : il met en staging tout le répertoire, y compris des fichiers qui n'ont rien à voir avec ce correctif. Le réflexe pro : commiter petit et ciblé, et git add uniquement les fichiers concernés.Sans remonter dans la leçon : nomme les trois zones de Git dans l'ordre, et dis quelle commande fait passer un fichier de l'une à la suivante.
git add fait passer un fichier du répertoire de travail vers la staging ; git commit fige le contenu de la staging dans le dépôt.You can record your work commit after commit, with clear messages. But how do you try out a new idea without risking breaking what already works? The next lesson opens up branches, those parallel timelines where you can experiment safely.
Lesson 5: Branches →