Esto da una buena explicación de aplastar múltiples confirmaciones:
http://git-scm.com/book/en/Git-Branching-Rebasing
pero no funciona para confirmaciones que ya se han enviado. ¿Cómo elimino las últimas confirmaciones tanto en mis repositorios locales como remotos?
EDITAR: cuando lo haga git rebase -i origin/master~4 master, mantenga el primero como pick, configure los otros tres como squashy luego salga (a través de cx cc en emacs), obtengo:
$ git rebase -i origin/master~4 master
# Not currently on any branch.
nothing to commit (working directory clean)
Could not apply 2f40e2c... Revert "issue 4427: bpf device permission change option added"
$ git rebase -i origin/master~4 master
Interactive rebase already started
donde 2f40 es el pickcommit. Y ahora no aparece ninguno de los 4 commits git log. Esperaba que mi editor se reiniciara para poder ingresar un mensaje de confirmación. ¿Qué estoy haciendo mal?
git push --force origin master