Git elimina la confirmación de la raíz

No puedo hacer muchas cosas con git y quiero eliminar una confirmación de mi repository porque subí cosas incorrectas.

Utilicé git revert <the_commit> pero dado que el commit es root y no puedo eliminarlo. fatal: no se puede revertir una confirmación de raíz

¿Qué hacer en ese caso?

Por favor, no me des enlaces a otros temas aquí, los leo y no entiendo qué hacer, necesito un ejemplo básico sobre cómo eliminar algunos commits.

Para eliminar una confirmación raíz, simplemente tiene que eliminar todas las twigs (y tags) desde las que se puede acceder.

Esto se puede hacer con la git branch -D branch-name . (Primero tendrá que verificar otra twig que no se refiere a esta confirmación raíz, ya que no puede eliminar la twig actual, creo).

Si desea conservar otras confirmaciones en esta twig y solo eliminar la raíz, git filter-branch es mejor, vea la respuesta de Greg.

Puedes hacer esto usando git filter-branch . Primero, identifique la ID de confirmación en la raíz que desea eliminar. Representaré eso con <the_commit> . Luego, ejecute git filter-branch usando --parent-filter y un command sed que corta el padre:

 git filter-branch --parent-filter "sed 's/-p <the_commit>//'" HEAD 

Aquí hay una transcripción de un ejemplo que acabo de probar:

 $ git log commit 7e1ba37b51fc2cc6289cf66367c9aedc74c664a8 Author: Greg Hewgill <greg@example.com> Date: Fri May 27 20:54:27 2011 +1200 three commit a8a410d2361824cbd518a48225e9402a691be93f Author: Greg Hewgill <greg@example.com> Date: Fri May 27 20:54:17 2011 +1200 two commit 3171d512d98f6bc5f3c2469312930c0d32d3aa07 Author: Greg Hewgill <greg@example.com> Date: Fri May 27 20:54:00 2011 +1200 one $ git filter-branch --parent-filter "sed 's/-p 3171d512d98f6bc5f3c2469312930c0d32d3aa07//'" HEAD Rewrite 7e1ba37b51fc2cc6289cf66367c9aedc74c664a8 (3/3) Ref 'refs/heads/master' was rewritten $ git log commit 489ec1ee20e0dd20cd835ceebf157f628cd75a44 Author: Greg Hewgill <greg@example.com> Date: Fri May 27 20:54:27 2011 +1200 three commit a6f5ee410c9ea4fca6fbff265149b7fc555241eb Author: Greg Hewgill <greg@example.com> Date: Fri May 27 20:54:17 2011 +1200 two $