Débutant40 min25 XP
Objectifs de cette leçon
- Stocker temporairement des changements
- Restaurer un stash
- Comprendre la différence entre reset et revert
Stash et annulation 🔄
Le stash : mise en attente
git stash git stash list git stash pop git stash apply git stash drop stash@{0}
Annuler des commits
git reset
git reset --soft HEAD~1 # Garder les modifications git reset HEAD~1 # Garder les fichiers git reset --hard HEAD~1 # Tout supprimer ⚠️
git revert
git revert abc1234 # Crée un commit qui annule
💡
git revertest plus sûr quegit reset.
Le reflog
git reflog git reset --hard def5678 # Récupérer après un reset --hard
Résumé
| Commande | Description |
|---|---|
git stash | Met en attente |
git stash pop | Restaure le stash |
git reset --soft | Annule le commit (garde staging) |
git revert | Annule par nouveau commit (sûr) |
git reflog | Historique des mouvements |
Exercices 🎯
- Fais des modifications, stash-les, et restaure-les
- Crée un commit, annule-le avec
git reset --soft, puis avecgit revert - Simule une erreur avec
git reset --hardet récupère avecgit reflog
⚡ Simulateur — Stash et undo
Étape 1/5📝 Pseudo-code
1git stash
2# Travail urgent...
3git stash pop
4git reset HEAD~1
5git revert HEAD
⚙️ Exécution
📦 Mémoire
stash
1 élément
🔀 Flux d'exécution
stash sauvegardé
📟 Console
Saved working directory and index state WIP on main: a1b2c3d
HEAD is now at a1b2c3d Last commit
3
Sauvegarde du stash
git stash met de côté les modifications non commitées dans une réserve temporaire. Le working directory revient au dernier commit.