🚀 5 Fonctions Git Méconnues Qui Vont Changer Votre Façon de Coder
Quand on pense à Git, on se limite souvent au trio classique :
git add .
git commit -m "message"
git push
Pourtant, ce workflow ne représente qu’une petite partie de la puissance réelle de Git.
Voici 5 commandes essentielles mais rarement utilisées, qui peuvent littéralement transformer votre productivité et la qualité de votre code.
1️⃣ Git Worktree — Travailler Sur Plusieurs Branches en Même Temps
Le problème classique :
Vous êtes sur une branche en plein développement…
Votre lead vous demande une correction urgente sur main.
Obligé de : stash → pull → switch… puis revenir… (et les conflits arrivent 😅)
La solution : git worktree
Cette fonctionnalité permet de travailler sur plusieurs branches simultanément, chacune dans son propre dossier.
✅ Avantages
- Plus besoin de stasher ou faire des commits temporaires
- Zéro conflit lié aux changements non commités
- Développement parallèle ultra fluide
🔧 Exemple
git worktree add ../feature-fix-hotfix hotfix/123
Une nouvelle copie du repo apparaît dans un dossier séparé → vous pouvez coder sur la nouvelle branche sans toucher à votre contexte actuel.
2️⃣ .gitkeep — Versionner un Dossier Vide
Git ne versionne pas les dossiers vides.
Pourtant, certaines architectures exigent que des dossiers existent dès le début (logs, temp, uploads…).
🎯 La technique
Créer un fichier vide :
touch .gitkeep
Et Git versionne le dossier.
Simple. Propre. Efficace.
Ce n’est pas une fonctionnalité Git officielle, mais un convention très répandue dans le monde dev.
3️⃣ Git Reflog — Votre Filet de Sécurité
Vous avez déjà supprimé un commit par erreur ?
Reset un peu trop fort ?
Perdu des modifications ?
Respirez. Git a prévu le coup.
🙌 git reflog sauve des vies
Cette commande affiche l’historique complet des actions Git, même celles qui ne figurent plus dans vos branches.
🔧 Exemple
git reflog
git checkout <hash>
➕ Ce que vous pouvez faire
- Restaurer un commit “perdu”
- Revenir à n’importe quel état antérieur
- Débugger un reset ou un rebase raté
Cette commande devrait être enseignée dès le premier jour.
4️⃣ Git Bisect — Trouver le Commit Qui a Introduit un Bug
Trouver l’origine d’un bug dans l’historique Git peut prendre des heures.
Git propose une technique automatisée, rapide et intelligente.
🤖 git bisect : la recherche dichotomique
Vous indiquez :
- un commit bon
- un commit buggé
et Git teste automatiquement les commits intermédiaires pour isoler le coupable.
🔧 Exemple
git bisect start
git bisect bad
git bisect good <hash-bon>
Git réduit l’espace de recherche jusqu’à pointer le commit exact qui brise le code.
Un gain de temps énorme en debug.
5️⃣ Git Notes — Ajouter des Commentaires à des Commits Sans Modifier l’Historique
Parfois on veut documenter :
- un choix technique
- un fix rapide
- une contrainte métier
Mais modifier l’historique (réécrire un commit) est risqué.
✨ Solution : git notes
Vous pouvez ajouter une note visible uniquement via Git, sans toucher au commit lui-même.
🔧 Exemple
git notes add -m "Pourquoi cette implémentation ?"
Parfait pour laisser des explications propres et pérennes.
🔥 Conclusion
Ces commandes sont comme des super-pouvoirs Git :
| Commande | Utilité |
|---|---|
| git worktree | Travailler sur plusieurs branches en parallèle |
| .gitkeep | Gérer les dossiers vides dans un repo |
| git reflog | Restaurer n’importe quel état Git |
| git bisect | Trouver le commit qui introduit un bug |
| git notes | Documenter sans modifier l’historique |
Si vous deviez en maîtriser une seule aujourd’hui, commencez par git worktree.
Elle change radicalement le quotidien des développeurs.