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 squash
y 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 pick
commit. 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