En algunas ocasiones realizamos un commit sin querer y podemos deshacer los cambios manual sin embargo analicemos una situación en la que hemos modificado muchos archivos y estar verificando las diferencias entre archivos va ser tedioso bueno Git nos brinda la posibilidad de hacer un rollback a un commit determinado y hoy vamos aprender a realizarlo.
En mi caso realizaré el ejemplo con un repositorio hospedado en GitHub sin embargo aplica para cualquier repositorio que funcione con Git para el control de versiones.
Vamos a observar que el último commit yo lo realicé sin embargo quiero volver a un commit anterior para eliminar los cambios y modificar otro archivo ya que cometí un error
Acá adjunto la lista de los últimos commits para que se aprecie mejor
Nota: Si desean ver el historial pueden digitar «git log»
Ahora manos a la obra, lo primero es conocer el id del commit al que deseamos regresar en mi caso será el e87ffda458a3953d61726b3cfe03cecb151df753, una vez que lo tenemos vamos a navegar a nuestro directorio desde la linea de comandos y vamos a digitar las siguientes instrucciones
git reset --hard id_commit
Ejemplo
git reset --hard e87ffda458a3953d61726b3cfe03cecb151df753
Lo que le estamos diciendo a Git es que descarte todos los cambios del espacio de trabajo que se han realizado después del commit especificado
Ahora vamos a observar los commits que tiene el repositorio, en mi caso realizaré un push al repositorio remoto para poder apreciar mejor el historial
Nota: En algunas ocasiones si no les funciona el push deben de forzarlo con el parámetro -f, por ejemplo «git push -f»
Como podemos apreciar ya no está el commit que yo realicé y ahora podemos seguir trabajando, hasta la próxima 🙂