Gagner en efficacité avec le git rebase.
Organiser le projet et améliorer sa lisibilité en utilisant des commandes simples pour travailler efficacement.
Publié le 24/09/2024, dernière mise à jour le 05/10/2024
Les opérations réalisées sur git peuvent grandement améliorer la lisibilité et la compréhension d'un projet.
Prérequis
S'assurer d'être à jour avec le dépôt distant.
git pull
Fusionner deux branches en utilisant git merge
Se placer sur la branche sur laquelle on veut fusionner le travail.
git checkout master
Fusionner le travail de la branche de développement dans la branche master.
git merge dev
Déplacer une branche en utilisant git rebase
Se placer sur la branche que l'on souhaite déplacer.
git checkout dev
Déplacer la branche sur celle souhaitée.
git rebase master
Squasher des commits en utilisant git rebase
Prenons l'exemple ou il y a une branche avec deux commits et je veux garder tout le travail à l'intérieur d'un seul commit, c'est là qu'on peut squasher les commits.
git checkout dev
Nous allons spécifier le nombre de commits à intégrer dans l'historique.
git rebase --interactive dev HEAD~2
L'éditeur est lancé avec le détail de l'opération en cours.
pick ffb2d36 ✨ My first commit
s 8407ee4 ✨ My second commit
# Rebasage de 06d0e7e..8407ee4 sur 06d0e7e (2 commandes)
#
# Commandes :
# p, pick <commit> = utiliser le commit
# r, reword <commit> = utiliser le commit, mais reformuler son message
# e, edit <commit> = utiliser le commit, mais s'arrêter pour le modifier
# s, squash <commit> = utiliser le commit, mais le fusionner avec le précédent
# f, fixup [-C | -c] <commit> = comme "squash", mais en ne gardant que le message
# du commit précédent, à moins que -C ne soit utilisé, auquel cas, conserver
# ne conserver que le message de ce commit ; -c est identique à -C mais ouvre
# un éditeur
# x, exec <commit> = lancer la commande (reste de la ligne) dans un shell
J'ai spécifié le comportement attendu pour mon deuxième commit, j'ai préfixé par s pour squasher mes commits.
Annuler un rebase en cours
Il peut arriver qu'un rebase se passe mal et dans ce cas, mieux vaut annuler l'action.
git rebase --abort
Schéma
Conclusion
Le rebase permet de garder un historique plus lisible et de mieux visualiser l'ensemble du projet. La documentation de GitHub explique bien la commande rebase dans le détail.
Partage cet article sur les réseaux sociaux avec tes amis