Índice
- Introducción
- ¿Cómo navegar entre commits?
- ¿Qué significa
detached HEAD
? - No toques nada por favor
- ¿Cómo regresar a nuestro commit original?
- Conclusiones
1. Introducción
Aprender a navegar entre commits de un proyecto es vital para poder moverse entre las versiones de un proyecto.
El comando básico que debemos aprender para lograr esto es git checkout
, un comando algo confuso en git puesto que nos sirve para una variedad de casos de uso.
Aprenderemos a avanzar y retroceder entre commits con un repositorio propio que estoy creado para aprender Python, también veremos que significa el concepto de detached HEAD
.
La versión de git que usaremos para todos los ejemplos será:
2. ¿Cómo navegar entre commits?
La sintaxis para movernos entre commits es:
git checkout <hash-commit>
Para ejemplificar esto les comparto algunos commits de mi repositorio cris-python
usando una de mis extensiones favoritas de VsCode: Git Graph.
¿Qué aspectos tener en cuenta de esta lista de commits?
- Tendremos en cuenta sólo nuestra rama
main
, así que puedes ignorar las otras ramas. - El último commits de nuestra rama
main
es0f9fbe25
.
Ahora supongamos que queremos viajar a al commit feac71c0
que es add ejercicios/04-condicionales/28-switch
, entonces no tendríamos más que hacer:
git checkout feac71c0
Viajamos al commit deseado
Y eso es todo, así de fácil podemos viajar al commit de nuestra preferencia.
3. ¿Qué significa detached HEAD
?
Inicialmente dijimos que este ejemplo comienza estando sobre la rama main
del repositorio, pero al momento de "movernos" entre commits se produce un detached HEAD
.
Esto significa que no estamos en ninguna rama creada, sino que estamos en una rama temporal que tiene el mismo nombre que el commit al que nos movimos.
Verifiquemos esto:
Al hacer un git branch
vemos que tenemos nuestras ramas locales pero adicionalmente nos aparece una rama rara llamada (HEAD detached at feac71c)
esta es justamente la rama temporal que git creó automáticamente para poder navegar entre commits.
4. No toques nada por favor
Es importante resaltar que al momento de navegar entre commits es recomendable no hacer cambios de ninguna índole al repositorio.
El concepto de viajar entre commits justamente consiste en viajar entre los mismos para poder ver el estado del repositorio en un momento de tiempo en específico, no para agregar cambios, borrar archivos o actualizar el código.
5. ¿Cómo regresar a nuestro commit original?
Para regresar al nuestro último commit podemos hacer:
git switch <rama>
Simplemente nos movemos a la rama deseada, en nuestro caso a la rama git switch main
y listo.
Otra manera de poder lograr lo mismo es usando el hash del último commit: git checkout 0f9fbe25
.
6. Conclusiones
Un breve resumen para finalizar:
Aprender a movernos entre commits es una habilidad muy útil y necesaria para poder ver el estado del proyecto en diferentes puntos del tiempo. Como viste no es algo complicado de aprender ni hacer.
Recomiendo practicar estos comandos e inclusive crear una rama de pruebas para ejecutarlos y así no tener el miedo de desordenar los commits del repositorio.
Otros post de mi autoría que te pueden interesar:
Top comments (0)