À partir du repo dans son état d'origine
Pour supprimer le commit de fusion et écraser la branche en un seul commit dans la ligne principale
Utilisez ces commandes (en remplaçant 5 et 1 par les SHA des commits correspondants):
git checkout 5
git reset --soft 1
git commit --amend -m '1 2 3 4 5'
git rebase HEAD master
Pour conserver un commit de fusion mais écraser la branche commit en un:
Utilisez ces commandes (en remplaçant 5, 1 et C par les SHA des commits correspondants):
git checkout -b tempbranch 5
git reset --soft 1
git commit --amend -m '1 2 3 4 5'
git checkout C
git merge --no-ff tempbranch
git rebase HEAD master
Pour supprimer le commit de fusion et le remplacer par des commits individuels de la branche
Faites simplement (en remplaçant 5 par le SHA du commit correspondant):
git rebase 5 master
Et enfin, pour supprimer entièrement la branche
Utilisez cette commande (en remplaçant C et D par les SHA des commits correspondants):
git rebase --onto C D~ master