Muchas veces, nos damos cuenta de que necesitamos regresar en el tiempo a un punto de nuestro proyecto, para ello el comando checkout nos permite regresar a un commit anterior en Git, de esta manera:
git checkout 766abcd
766abcd, es el identificador del commit al que deseamos regresar. Esta operación, si lo hacemos desde una rama, no afectará a otras, de modo que puedes hacer diferentes commit a partir de ese punto, sin que se modifiquen otras ramas del proyecto.
Existen diferentes formas de retroceder en el tiempo a commits previos, checkout es una de ellas, pero tambien se utiliza reset con sus atributos soft o hard
Con una sintaxis como:
git reset—soft referencia del commit
Esto nos permitirá retroceder a un commit previo, manteniendo los cambios:
git reset—soft 568abcj
Si queremos deshacer solo el ultimo:
git reset—soft HEAD~
Si lo que se desea es eliminar permanentemente los cambios realizado después de un commit específico, el comando a usar es:
git reset—hard 789abcd
Si queremos eliminar los cambios después del ultimo commit lo que hacemos es usar el atributo hard del comando reset, pero dirigiéndolo al apuntador especial HEAD.
git reset—hard HEAD~
para descartar los cambios antes de retornar a un commit, se utiliza el comando stash
git commit stash
Debemos recordar siempre que poseemos una valiosa herramienta, para obtener información sobre el estado y la estructura del árbol del proyecto, que es el comando log.
Podemos ver la estructura de los últimos commit con este comando
git log --oneline
Su salida, será algo como esto
8674e5f commit test3 jº44568 commit segunda parte 55df4c2 commit de inicio.
El conocimieno y el uso de log con sus diferente posibilidades, nos permitirá manejar acertadamente, la creación de ramas, los movimientos entre ellas y los avances y retrocesos entre commits.
Y listo, esto es todo.
Espero modestamente que este artículo, sirva de ayuda a alguien.
Gracias.
Subir montañas hermana hombres……