Introduction#
Ce billet de blog explique comment utiliser git rebase pour réorganiser les commits dans une branche. Cette technique est utile pour maintenir un historique de version propre et facile à suivre, en particulier lors de la collaboration sur des projets en équipe.
Note :
git rebaseest une opération puissante qui modifie l’historique. Utilisez-la avec précaution, surtout sur des branches partagées.
Pourquoi utiliser git rebase ?#
git rebase permet de réorganiser ou de modifier les commits d’une branche. Cela peut être utile pour :
- Supprimer des commits inutiles
- Regrouper plusieurs petits commits en un seul
- Réorganiser les commits par ordre chronologique
- Modifier le message de commit
Exemple pratique#
Supposons que vous avez une branche feature avec les commits suivants :
commit 1: Ajouter fonctionnalité A
commit 2: Corriger bug dans A
commit 3: Ajouter documentation pour A
commit 4: Ajouter fonctionnalité BVous voulez regrouper les commits liés à A (1, 2, 3) en un seul commit, et les placer avant B.
Étapes pour effectuer un rebase#
Sélectionnez la branche à rebase :
git checkout featureDémarrez le rebase interactif :
git rebase -i HEAD~4HEAD~4signifie les 4 derniers commits. Vous pouvez ajuster ce nombre selon votre besoin.Dans l’éditeur qui s’ouvre :
- Remplacez
pickparsquashpour les commits que vous voulez fusionner. - Remplacez
pickparrewordpour modifier le message de commit. - Supprimez les lignes des commits que vous voulez supprimer.
Exemple de configuration :
pick a1b2c3d Ajouter fonctionnalité A squash e4f5g6h Corriger bug dans A squash i7j8k9l Ajouter documentation pour A pick m0n1p2q Ajouter fonctionnalité B- Remplacez
Enregistrez et quittez l’éditeur.
Git vous demandera de rédiger un nouveau message pour le commit fusionné.
Vérifiez les résultats :
git log --oneline --graphVous devriez voir un historique réorganisé.
Bonnes pratiques#
- Utilisez
git rebaseuniquement sur des branches privées ou non partagées. - Évitez de faire un rebase sur des branches publiques comme
mainoudevelop. - Si vous devez partager des modifications après un rebase, utilisez
git push --forceavec précaution.
En résumé#
git rebase est un outil puissant pour nettoyer et organiser l’historique de version. En le maîtrisant, vous pouvez rendre vos projets plus clairs et plus professionnels. Mais souvenez-vous : modifiez l’historique avec prudence.
Pour en savoir plus, consultez la documentation officielle de Git.