En ocasiones accidentales cuando crees que es demasiado tarde para deshacer un commit ya publicado. Tenemos la solución en diferentes modalidades. Antes de continuar con el siguiente comando, es fundamental que respaldes el repositorio (erróneo) en tu computadora, ya que este desaparecerá del git remoto, pero al mismo tiempo, se revertirán los cambios del commit anterior en tu computadora también:
git reset --hard 1c17cafcr62c346b716f4d435240db4651ffbm1
El siguiente comando le indica al repositorio que se resetee de manera más agresiva al último commit (el que está más atrás del último publicado para la rama actual). A continuación, para ejecutar la des publicación del commit erróneo es necesario que completes el PUSH. Para ello recurrimos al siguiente comando a continuación. Nota: este comando también eliminará los cambios no deseados del último commit que se envió por error tanto en disco duro como también en el git remoto:
git push --force
El comando anterior se ejecuta en caso de que usted no desee que se guarden evidencias del commit que hemos eliminado por considerarlo un PUSH erroneo. Sin embargo, también existen formas de mantener la información en historiales del repositorio, pero no mantenerlo como él (último para la rama) el cual es, la version que se baja del repositorio remoto cuando ejecutamos el PULL.
Deshacer un commit ya publicado pero preservar ese commit en historiales:
Si deseas conservar el commit erroneo en historiales del repositorio, también existe un comando para eso. Con el siguiente comando podras revertir un commit ejecutado erroneamente manteniendolo en historiales, pero si dejara de ser el último commit de la rama. Para realizar esta última accion en su repositorio basta con ejecutar el siguiente comando en la carpeta principal de su proyecto:
git revert 73a8261
El domando revert crea un nuevo commit que revierte los cambios del commit erroneo pasandolo a la segunda posicion y subiendo el último commit (el que estaba antes del erroneo) a una primera posición. Lo que también se le puede denominar como «invertir el penultimo commit». Recuerde cambiar 73a8261 por su número del commit que desea restaurar el cual para efectos de este tutorial hemos escojido el penultimo. Recuerde siempre realizar backups, si esta encontra del tiempo con realizar una copia comprimida (zip,rar) «antes de correr cualquier comando de git de este tutorial» para garantizar que no sucedan acontecimientos no deseados en las versiones de su projecto.