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 le das 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 erróneo. 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 versión 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 erróneo en historiales del repositorio, también existe un comando para eso. Con el siguiente comando podrás revertir un commit ejecutado erróneamente, manteniéndolo en historiales, pero si dejara de ser el último commit de la rama. Para realizar esta última acción en su repositorio basta con ejecutar el siguiente comando en la carpeta principal de su proyecto:
git revert 73a8261
El comando revert crea un nuevo commit que revierte los cambios del commit erroneo pasandolo a la segunda posición y subiendo el último commit (el que estaba antes del erróneo) a una primera posición. Lo que también se le puede denominar como «invertir el penúltimo 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 encuentra 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 proyecto.