¿Cómo puedo deshacer una confirmación push para que nunca haya sucedido?

Lo arruiné…

¿Cómo puedo deshacer una confirmación push para que nunca haya sucedido?

¡Gracias!

Advertencia: cada paso aquí es destructivo. No se equivoque, y tome una copy de su repository antes de comenzar.

git reset --hard $what , where what is the SHA o lo que sea que quieras volver a esa twig. (por ejemplo: HEAD^ si solo quieres descartar el último commit).

Una vez que hayas hecho eso, git push --force ... para git push --force ... al repository remoto.

Eso resuelve todo … excepto eliminar el blob muerto, etc., del repository remoto. Si eso te importa, la vida es más difícil. No hay ninguna forma de protocolo para deshacerse de él, por lo que puede eliminar el repository remoto y crear una nueva copy limpia, o hacer algo específico de background.

Aunque Danial Pittman le ha proporcionado el process para 'borrar' la acción que ha tomado, sugeriría otro enfoque. Si es posible, será mejor que corrija los cambios que ha realizado y luego los haya comprometido, lo que básicamente anula el compromiso anterior. Sí, las personas todavía podrán ver en el historial del repository y posiblemente verán el "error", pero este es un enfoque más seguro. Además, en el caso de que realmente desee los cambios que realizó, seguirán estando en el repository cuando siga este método. ¡Espero que ayude!