🚀 L’antisèche Git Gud
Votre pense‑bête ultra‑rapide pour le quotidien Git. Cliquez pour voir « la magie » derrière chaque action.
🌱 Partir d’une main à jour et créer une branche
💡 Afficher les commandes
Parfait pour : démarrer une feature, un bugfix, une task.
Étape 1 : basculer sur main
git checkout mainÉtape 2 : se synchroniser
git reset --hard
git pullÉtape 3 : créer la branche
git checkout -b feature/GG-12_storyNameAlternative moderne
git switch -c feature/GG-12_storyNameCe qui se passe
- ✅ On revient sur
main - 🧹 On nettoie l’état local et on se sync
- ⬇️ On récupère les derniers commits
- 🎯 On crée et on bascule sur la branche de travail
🔗 Écraser plusieurs commits en un seul
💡 Afficher les commandes
Parfait pour : avant d’ouvrir une PR ou après plusieurs commits « WIP ».
Commande
git rebase -i HEAD~3Ce qui se passe Vous combinez les 3 derniers commits : laissez le premier en pick, mettez les autres en squash (ou fixup si vous ne voulez pas garder leurs messages).
🚀 Pousser une branche pour la première fois
💡 Afficher les commandes
Parfait pour : partager votre travail et ouvrir une PR.
git push -u origin feature/GG-12_storyNameCe qui se passe
- 📤 La branche est poussée à distance
- 🔗 L'option
-u(abrégé de--set-upstream) configure la branche distante comme « upstream » pour que les futursgit pushfonctionnent sans préciser le remote
🔄 Mettre à jour sa branche avec main
💡 Afficher les commandes
Rebase (propre)
git pull --rebase origin mainMerge (rapide mais spaghetti)
git pull --merge origin main💪 Force‑push en sécurité après réécriture
💡 Afficher les commandes
Parfait pour : après un squash, un rebase, bref quand l’historique a changé.
Force‑push sûr
git push --force-with-lease --force-if-includesCombo de pro
git rebase -i HEAD~3
git pull --rebase origin main
git push --force-with-leaseCe qui se passe On force‑push sans écraser par erreur le travail d’un collègue (grâce à --force-with-lease) et on s’assure que la branche distante contient bien les commits attendus (grâce à --force-if-includes). 💡 Gagnez du temps avec l’alias git pf.
🆘 Revenir à l’état exact du remote
💡 Afficher les commandes
Parfait pour : remettre à plat une branche locale en vrac.
git fetch origin
git reset --hard origin/feature/GG-12_storyName⚠️ Détruit les changements non commités.
🔀 Changer de branche existante
💡 Afficher les commandes
git checkout branch-nameAlternative moderne
git switch branch-name📊 Voir l’état du répertoire de travail
💡 Afficher les commandes
git status💾 Indexer et commit
💡 Afficher les commandes
git add .
git commit -m "feat: add user authentication"Alternative (fichiers déjà suivis)
git commit -am "feat: add user authentication"⚠️ -am est plus rapide mais n’indexe pas les nouveaux fichiers.
📚 Voir l’historique
💡 Afficher les commandes
git log --oneline
git log --oneline --graph↩️ Annuler le dernier commit en gardant les modifs
💡 Afficher les commandes
git reset --soft HEAD~1🗑️ Jeter les modifications non commités
💡 Afficher les commandes
git reset --hardFichier spécifique
git checkout HEAD -- filename.js🕰️ Voyager dans le temps vers un état précédent (annuler presque tout)
💡 Afficher les commandes
Parfait pour : grosse erreur (rebase raté, branche supprimée, etc.) et besoin de revenir en arrière.
Étape 1 : trouver l’action passée
git reflogÉtape 2 : réinitialiser vers un état précédent
git reset --hard HEAD@{5}(Remplacez HEAD@{5} par l’entrée du reflog à restaurer.)
Ce qui se passe
git reflogaffiche l’historique de vos actions (commits, merges, resets, etc.).git reset --hardréinitialise tout le dépôt à cet instant T (bouton d’annulation ultime).- ⚠️ Commande puissante : détruit les changements non commités et réécrit l’historique.