Commencer avec le repo dans l'état original
Pour supprimer le commit de fusion et réduire la branche à un seul commit dans la ligne principale.
Utilisez ces commandes (en remplaçant 5 et 1 par les SHAs 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 les commits de branche en un seul :
Utilisez ces commandes (en remplaçant 5, 1 et C par les SHAs 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
Il suffit de faire (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 SHAs des commits correspondants) :
git rebase --onto C D~ master