Contenu du cours
Fondamentaux de GitHub
Fondamentaux de GitHub
Notions de Base sur le Rebasage
Faire un Commit sur la Branche principale
Commençons par faire un commit directement dans la branche main
distante en modifiant le fichier README.md
dans le dépôt distant. Cela entraînera une divergence de l'historique des commits entre la branche main
et la branche feature/payment
.
Voici la ligne ajoutée au fichier :
Voici le message de commit correspondant :
Comprendre le Rebasage
Comme nous l'avons mentionné dans le chapitre précédent, une fois que la branche feature est revue et testée, elle peut et doit être fusionnée dans la branche main
. Jusqu'à présent, nous avons seulement utilisé la commande git merge
à cette fin. Cependant, une autre approche consiste à utiliser la commande git rebase
.
Lorsque nous créons une branche, Git suit le dernier commit sur les deux branches. Si une seule branche a de nouveaux changements, Git peut avancer rapidement et appliquer les changements. Cependant, si les deux branches ont de nouveaux changements, Git crée un nouveau commit de fusion, ce qui entraîne une fusion à trois voies.
Voici à quoi ressemblerait une fusion à trois voies dans notre cas, où C4 était le dernier commit sur la branche feature/payment
avant la fusion :
Cependant, les fusions à trois voies peuvent compliquer le débogage en raison de l'historique fractionné et non linéaire. En rebasant, nous changeons la base de nos commits et les rejouons sur la nouvelle base, permettant à Git d'effectuer une fusion rapide et de maintenir un historique linéaire.
Voici une animation pour illustrer comment le rebasage peut être effectué dans notre cas (les identifiants de commit ne correspondent pas aux réels ici) :
Merci pour vos commentaires !