Estoy intentando eliminar los últimos 2 commits en uno de mis repositorios de GitHub. He intentado como sugerido here: git push -f origen HEAD ^^: master. Parece que funciona, las dos últimas confirmaciones se eliminan.Cómo eliminar la última n confirmación en Github y localmente?
Luego los borré de mi repositorio local con git rebase -i HEAD ~ 2. Elimino las líneas que están relacionadas con esas confirmaciones y verifico con git log que se eliminaron correctamente.
Después de eso, realizo algunos cambios en mi repositorio local, realizo una nueva confirmación y paso a GitHub. El problema es que en mi cuenta de GitHub tengo los dos compromisos anteriores que he intentado eliminar.
Creo que el problema está en mi repositorio local porque si clono mi repositorio de Github en mi local, y hago algunos cambios aquí cuando presiono una nueva confirmación, esos compromisos anteriores no se envían a GitHub.
¿Alguna idea?
Si ya ha enviado este cambio a un repositorio remoto. Puede eliminarlo con git push -f –
¿Puede generalizar esto para el último n número de confirmaciones? –
@ user_19 puedes hacer cosas como 'git reset --hard HEAD^4' o' git reset --hard HEAD ~ 4'. Sin embargo, las cosas pueden complicarse un poco si su historial contiene fusiones. Puede encontrar más información sobre cómo especificar revisiones en la sección correspondiente [aquí] (https://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html). –