- Ver el historial con git log
- Moverse en el historial con git checkout
- Verificar nuestra ubicación con git branch
- Hacer que git nos muestre la ubicación en el prompt
Git no solo guarda el historial de cambios, ¡también nos permite viajar en el tiempo! ⏳ Podemos cargar el estado exacto del código en cualquier momento del pasado.
En esta lección, aprenderemos a movernos por el historial usando el comando git checkout. ¡Vamos a explorar cómo hacerlo!
Ver el historial con git log
Antes de movernos por el historial, debemos saber qué cambios se han realizado y cuándo. Para eso, utilizamos el comando git log:
# Muestra un historial abreviado con los commits
git log --oneline
⏬ Salida de ejemplo:
fc74e2d update README.md
65a8ef7 Revert "remove PEOPLE.md"
5120bea add new content
e6f625c add INFO.md
273f81c remove NEW.md
aa600a4 remove PEOPLE.md
fe9893b add NEW.md
3ce3c02 add PEOPLE.md
3c5d976 add README.md
Cada línea muestra un commit, con un identificador único (hash) y su mensaje descriptivo. Vamos a usar estos identificadores para viajar en el tiempo.
Moverse en el historial con git checkout
Para regresar al estado de un commit específico, usamos git checkout <hash_del_commit>. Por ejemplo, si queremos volver al commit con el mensaje add INFO.md, ejecutamos:
git checkout e6f625c
⏬ Salida típica:
Note: switching to 'e6f625c'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
Aquí, Git nos advierte que estamos en un estado llamado detached HEAD (cabeza separada). Esto significa que hemos viajado a un punto en el tiempo fuera de nuestra línea de desarrollo principal.
Ahora podemos ver cómo eran los archivos en ese momento. Si abrimos el proyecto, notaremos que algunos archivos pueden haber desaparecido o vuelto a versiones anteriores.
Regresar al último commit
Para volver al estado más reciente del proyecto, simplemente ejecutamos:
git checkout main
Aquí, main es la rama principal del proyecto. Más adelante aprenderemos más sobre las ramas en Git.
Verificar nuestra ubicación con git branch
Cuando nos movemos en el historial, nuestro directorio cambia, pero Git no nos muestra de inmediato en qué punto nos encontramos. Para verificar nuestra ubicación actual en la historia del proyecto, utilizamos el comando:
git branch
Si estamos en el último commit, obtendremos esta salida:
* main
Pero si estamos en un commit del pasado, veremos algo como esto:
* (HEAD detached at e6f625c)
main
Esto nos indica que estamos en un estado detached HEAD y no en la rama principal.
Hacer que git nos muestre la ubicación en el prompt
Para evitar olvidarnos en qué parte del historial nos encontramos, muchos desarrolladores configuran el prompt de su terminal para mostrar la ubicación actual del repositorio. Por ejemplo:
# Si estamos en el último commit
hexlet-git git:(main)
# Si estamos en un commit del pasado
hexlet-git git:(e6f625c)
En Bash, esto se logra configurando la variable de entorno $PS1. Si te interesa personalizar tu terminal para mostrar esta información, puedes consultar los materiales adicionales.
Resumen
git log --onelinenos permite ver una lista resumida de commits.- Podemos movernos entre commits usando
git checkout <hash_del_commit>. - Al hacer
git checkouta un commit del pasado, entramos en el estado *detached HEAD*. - Para volver al estado más reciente, usamos
git checkout main. git branchnos indica en qué commit o rama estamos.- Podemos personalizar nuestra terminal para mostrar esta información automáticamente.
Viajar en el historial de Git es útil para revisar versiones anteriores de nuestro código o recuperar cambios que pensamos que habíamos perdido. ¡Sigue explorando y experimentando con tu repositorio para familiarizarte con estos comandos!
Trabajo independiente
Consulta el historial y navega entre versiones con Git
1️⃣ Consulta el historial de commits. Verás una lista de versiones anteriores con sus identificadores (hash) cortos y mensajes.
git log --oneline
2️⃣ Cambia a una versión anterior (modo lectura). Copia el hash de un commit anterior y usa:
git checkout <hash>
Estás viendo una versión vieja. No hagas cambios aquí, porque estás fuera de la rama principal.
3️⃣ Vuelve a la última versión del proyecto:
git switch main
4️⃣ (Opcional) Configura tu terminal para mostrar la carpeta actual:
Esto depende del sistema operativo. Puedes buscar “mostrar ruta actual en el prompt bash/zsh” o pedir ayuda y te guío 😉
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.