Module 1Git sur ton ordinateur
Chapitre 3 sur 8
Annuler, corriger et ignorer
Ignorer, annuler, corriger et mettre de côté : .gitignore, restore, reset, revert, stash.
- ≈ 140 min
- 6 leçons
- 7 vidéos
- 2 exercices
Module 1Git sur ton ordinateur
Chapitre 3 sur 8
Ignorer, annuler, corriger et mettre de côté : .gitignore, restore, reset, revert, stash.
Objectifs
Avec ce chapitre, tu sauras…
.gitignore ;git restore ;git rm ;git reset et git revert, et savoir lequel choisir ;git stash ;Tout le monde fait des erreurs : un fichier ajouté par erreur, un commit raté, une modification qui casse tout. Ce chapitre te donne la bonne commande pour chaque situation. C'est ce qui fait de Git un filet de sécurité.
Leçon 1
Le fichier .gitignore, à la racine du projet, liste les fichiers que Git doit ignorer.
# Dépendances (réinstallables avec npm install)
node_modules/
# Fichiers de configuration secrets
.env
# Fichiers système
.DS_Store
Thumbs.db
# Fichiers générés
dist/
*.logLeçon 2
Tableau: La bonne commande selon la situation
| Situation | Commande |
|---|---|
| j'ai modifié un fichier et je veux revenir à la dernière version commitée | git restore fichier |
j'ai fait git add par erreur, je veux retirer le fichier de l'index (sans perdre mes modifications) | git restore --staged fichier |
| idem, ancienne syntaxe que tu verras souvent | git reset fichier |
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Leçon 3
| Commande | Effet |
|---|---|
git rm fichier | supprime le fichier du disque et de Git (à commiter ensuite) |
git rm --cached fichier | arrête de suivre le fichier, mais le garde sur le disque |
git mv ancien nouveau | renomme un fichier en gardant son historique |
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Leçon 4
git reset | git revert | |
|---|---|---|
| principe | efface des commits de l'historique | ajoute un commit qui annule un ancien commit |
| historique | réécrit | conservé |
| commit déjà poussé sur GitHub ? | à éviter : tes collègues ont encore l'ancien historique | la bonne solution |
| usage typique |
Leçon 5
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Leçon 6
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
1Pour ignorer le dossier node_modules :
2Pour retirer un fichier de l'index sans perdre les modifications :
3Pour annuler un commit déjà poussé et partagé :
4git rm --cached fichier…
5HEAD~1 désigne…
6Pour ressortir les modifications rangées avec git stash :
L'essentiel du chapitre
.gitignore : secrets, dépendances, fichiers générés et système. Un secret poussé = un secret public.git restore fichier (perd les modifications) · git restore --staged fichier (retire de l'index).git rm (supprime) · git rm --cached (arrête de suivre).git reset réécrit l'historique local ; git revert annule un commit partagé ; --amend corrige le dernier commit local.git stash / git stash pop ; git switch --detach <hash> pour regarder le passé.| corriger tes derniers commits locaux |
| annuler un commit partagé |
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
git restore fichier remplace ton fichier par la version du dernier commit : les modifications non commitées sont perdues définitivement. Git ne pourra pas te les rendre. Vérifie avec git diff avant.
git reset pour retirer des fichiers de l'index (anglais).
git restore pour annuler des modifications locales (anglais).
echo ".env" >> .gitignore
git rm --cached .env
git commit -m "Arrête de suivre le fichier .env"git reset --soft HEAD~1 # le commit disparaît, les fichiers restent indexés
git reset HEAD~1 # le commit disparaît, les fichiers restent modifiés (non indexés)
git reset --hard HEAD~1 # DANGER : le commit ET les modifications disparaissentgit revert a81b4e0Tableau: reset ou revert ?
Tu es au milieu d'un travail, et on te demande une correction urgente. git stash range tes modifications dans un tiroir, ton dossier redevient propre.
git stash # range les modifications en cours
git stash list # liste le contenu du tiroir
git stash pop # ressort la dernière modification rangée
git stash push -m "menu mobile en cours" # avec un nomgit stash en détail (anglais).
git log --oneline
git switch --detach 3f2a1c9 # ou : git checkout 3f2a1c9
# … tu regardes les fichiers tels qu'ils étaient …
git switch main # retour au présentQuand tu te places sur un ancien commit, Git affiche detached HEAD : tu n'es plus sur une branche. Tu peux regarder et tester, mais pour garder des modifications à partir de là, crée une branche (git switch -c nouvelle-branche, chapitre 4).
Revenir sur des commits précédents (anglais).
Écris le .gitignore d'un projet web qui contient : un dossier node_modules, un fichier .env, un dossier dist généré, des fichiers .log, et le fichier .DS_Store de macOS. Puis, si .env a déjà été commité, écris les commandes pour arrêter de le suivre.
Donne la commande pour chaque situation : (a) tu as modifié style.css et tu veux revenir à la version du dernier commit ; (b) tu as fait git add . et un fichier notes.txt est parti dans l'index par erreur ; (c) ton dernier commit local a une faute dans le message ; (d) un commit poussé hier casse le site ; (e) tu dois changer de tâche sans commiter ton travail en cours.
git rm puis git rm --cached (anglais).
HEAD désigne le commit sur lequel tu te trouves (en général le dernier). HEAD~1 est son parent (l'avant-dernier), HEAD~3 le commit trois crans plus tôt.
git commit --amend -m "Nouveau message" remplace le dernier commit (message et contenu indexé). Comme reset, à réserver aux commits pas encore poussés.
git reset HEAD pour défaire le dernier commit (anglais).
git revert pour annuler un commit en toute sécurité (anglais).