Rebasage plus complexe des commits dans Git
Dans le système Git, il est possible d'effectuer un rebasage
pour trois branches. Supposons que nous ayons deux branches
member1 et member2, qui ont des commits
différents.
Au cours du travail sur le projet, nous avons eu besoin
d'insérer les commits commit3, commit4
de la branche member2 dans la branche member1
et de les appliquer sur la branche master.
Pour cela, nous exécutons la commande
suivante :
git rebase --onto master member1 member2
Cette commande ordonne au système Git
de basculer sur la branche member2,
d'y trouver les commits qui ne sont pas dans la branche member1
et de fusionner uniquement ces commits manquants avec
la branche master.
Maintenant, effectuons une fusion par avance rapide (fast-forward) :
git switch master
git merge member2
Il faut se rappeler qu'il est impossible de rebaser des commits qui se trouvent dans un dépôt public (partagé). Tous les membres de l'équipe récupèrent les commits de ce dépôt pour effectuer leur tâche, mais si un rebasage des branches a eu lieu, tous les membres devront à nouveau fusionner les commits avec leurs branches, ce qui peut provoquer une confusion supplémentaire.