DEV Community

Cover image for ¿Cómo navegar entre commits en git? 🤔
Cristian Fernando
Cristian Fernando

Posted on

¿Cómo navegar entre commits en git? 🤔

Índice

  1. Introducción
  2. ¿Cómo navegar entre commits?
  3. ¿Qué significa detached HEAD?
  4. No toques nada por favor
  5. ¿Cómo regresar a nuestro commit original?
  6. 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á:

version

2. ¿Cómo navegar entre commits?

La sintaxis para movernos entre commits es:

git checkout <hash-commit>
Enter fullscreen mode Exit fullscreen mode

Para ejemplificar esto les comparto algunos commits de mi repositorio cris-python usando una de mis extensiones favoritas de VsCode: Git Graph.

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 es 0f9fbe25.

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
Enter fullscreen mode Exit fullscreen mode

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:

branch

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.

gif

5. ¿Cómo regresar a nuestro commit original?

Para regresar al nuestro último commit podemos hacer:

git switch <rama>
Enter fullscreen mode Exit fullscreen mode

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:

Image description

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:

end

Top comments (0)