Comenzando con el repositorio en el estado original
Para eliminar la confirmación de fusión y aplastar la rama en una única confirmación en la línea principal
Utilice estos comandos (reemplazando 5 y 1 con los SHA de las confirmaciones correspondientes):
git checkout 5
git reset --soft 1
git commit --amend -m '1 2 3 4 5'
git rebase HEAD master
Para retener un compromiso de fusión pero aplastar el compromiso de la rama en uno:
Utilice estos comandos (reemplazando 5, 1 y C con los SHA de las confirmaciones correspondientes):
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
Para eliminar la confirmación de fusión y reemplazarla con confirmaciones individuales de la rama
Solo hazlo (reemplazando 5 con el SHA de la confirmación correspondiente):
git rebase 5 master
Y finalmente, quitar la rama por completo
Utilice este comando (reemplazando C y D con los SHA de las confirmaciones correspondientes):
git rebase --onto C D~ master