Git checkout – Qué es, para qué sirve y cómo usarlo
git checkout es uno de los comandos más importantes de Git, ya que permite viajar a versiones anteriores de un proyecto, cambiar entre ramas y explorar el historial de forma segura. En esta guía aprenderás qué es, para qué sirve y cómo usarlo paso a paso con ejemplos prácticos y casos reales.

Índice
1. Introducción
Si has seguido este curso desde el principio, ya conoces los conceptos fundamentales de Git y sabes cómo utilizar comandos como:
Ahora ha llegado el momento de aprender uno de los comandos más interesantes de Git: git checkout. Gracias a él podrás viajar temporalmente a cualquier commit del historial para ver cómo era tu proyecto en ese momento, analizar cambios, recuperar información o comprobar el funcionamiento de versiones anteriores, todo ello sin modificar el historial del repositorio.
2. ¿Qué es Git checkout?
git checkout es un comando que permite cambiar el estado actual del repositorio.
Dependiendo de cómo se utilice, puede servir para:
- Viajar a un commit anterior.
- Cambiar entre ramas (branches).
- Crear una nueva rama.
- Recuperar archivos específicos (en versiones antiguas de Git).
En este artículo nos centraremos en uno de sus usos más importantes: «Viajar temporalmente a un commit anterior para ver cómo era el proyecto en ese momento».
Es importante entender que viajar a un commit no elimina cambios ni modifica el historial. Simplemente coloca tu directorio de trabajo exactamente igual que estaba cuando realizaste ese commit.
2.1. ¿Para qué sirve exactamente?
Aunque pueda parecer un comando que utilizarás pocas veces, en realidad es muy habitual durante el desarrollo de software.
Algunos de sus usos más comunes son:
- Revisar cómo era el proyecto hace varios días.
- Comprobar cuándo apareció un error.
- Analizar cómo estaba implementada una funcionalidad antigua.
- Recuperar código que ya no existe en la versión actual.
- Comparar el comportamiento entre distintas versiones.
- Revisar una versión antigua antes de crear una corrección.
En otras palabras, Git checkout permite viajar en el tiempo dentro del historial del proyecto.
2.2. ¿Cómo funciona Git checkout?
Cada vez que realizas un git commit, Git crea una fotografía completa del proyecto.
Por ejemplo:
Commit A
│
Commit B
│
Commit C
│
Commit D ← HEAD
Actualmente te encuentras en el commit D.
Si ejecutas:
git checkout <hash-del-commit-B>Lenguaje del código: HTML, XML (xml)
Git moverá el proyecto hasta el estado exacto del commit B.
Visualmente sería algo así:
Commit A
│
Commit B ← HEAD
│
Commit C
│
Commit D
Observa que ningún commit desaparece.
Simplemente HEAD ahora apunta al commit B.
3. ¿Cómo usarlo desde la terminal de VS Code?
El primer paso consiste en abrir la terminal integrada de VS Code. Para ello podemos hacer:
- Terminal → Nueva terminal
- O mediante el atajo correspondiente (Usando las teclas
ctrl + ñ).
Después consulta el historial del repositorio:
git log --oneline
Obtendrás algo parecido a esto:
9b12c8a Agregar formulario
81ef243 Corregir estilos
45cd921 Crear página principal
1ab4d62 Primer commit
Cada línea comienza con un identificador único llamado Hash.
Para viajar a cualquiera de esos commits basta con ejecutar:
git checkout HASH
Por ejemplo:
git checkout 81ef243
En pocos segundos Git cambiará todos los archivos del proyecto para dejarlos exactamente igual que cuando realizaste ese commit.
4. ¿Cómo usarlo sin utilizar la terminal?
Visual Studio Code también permite hacerlo mediante su interfaz gráfica.
El procedimiento puede variar ligeramente según la versión de VS Code y la extensión de Git instalada, pero normalmente consiste en:
- Abrir el panel Control de código fuente.
- Acceder al historial del repositorio (History o Timeline, dependiendo de la extensión utilizada).
- Localizar el commit deseado.
- Hacer clic derecho sobre él.
- Seleccionar Checkout.
De esta forma VS Code ejecutará internamente el comando git checkout sin necesidad de escribirlo manualmente.
Aunque la interfaz gráfica resulta muy cómoda, aprender el comando desde la terminal es recomendable porque funciona exactamente igual en cualquier sistema operativo y entorno de desarrollo.
5. Casos reales donde se utiliza Git checkout
Durante el desarrollo de un proyecto es habitual utilizar git checkout en situaciones como estas.
5.1. Revisar cómo era una versión antigua
Quizá quieras comprobar cómo estaba diseñada una página hace dos semanas.
Con checkout puedes verla exactamente igual que entonces.
5.2. Buscar cuándo apareció un error
Si una aplicación funcionaba correctamente hace unos días y ahora presenta un fallo, puedes ir revisando commits anteriores hasta localizar el momento en que apareció el problema.
5.3. Recuperar una idea antigua
Muchas veces eliminamos código pensando que ya no será necesario.
Semanas después descubrimos que aquella implementación era mejor.
Con checkout puedes volver a verla y copiar únicamente la parte que necesitas.
5.4. Analizar una versión antes de una actualización importante
Antes de realizar grandes modificaciones es frecuente revisar la versión estable anterior para entender mejor su funcionamiento.
5.5. Mostrar una versión antigua a un cliente
Algunos equipos utilizan checkout para enseñar cómo era el proyecto en distintas etapas del desarrollo.
6. Ejemplo práctico: Viajar al commit anterior
Supongamos el siguiente escenario.
Has creado una página web sencilla.
Tu archivo index.html contiene:
<h1>Bienvenido</h1>Lenguaje del código: HTML, XML (xml)
Realizas un commit:
git add .
git commit -m "Crear página principal"Lenguaje del código: JavaScript (javascript)
Más tarde decides modificar el archivo.
Ahora contiene:
<h1>Curso completo de Git</h1>
<p>Aprende Git paso a paso.</p>Lenguaje del código: HTML, XML (xml)
Vuelves a guardar los cambios.
git add .
git commit -m "Actualizar página principal"Lenguaje del código: JavaScript (javascript)
Si consultas el historial:
git log --oneline
Obtienes:
d8421af Actualizar página principal
61fd2bc Crear página principal
Ahora deseas comprobar cómo era el proyecto antes de realizar la actualización.
Ejecutas:
git checkout 61fd2bc
Inmediatamente Git sustituirá todos los archivos actuales por los que existían en ese momento.
Al abrir nuevamente index.html encontrarás:
<h1>Bienvenido</h1>Lenguaje del código: HTML, XML (xml)
El párrafo agregado posteriormente ya no aparecerá porque todavía no existía en ese commit.
De esta forma puedes inspeccionar el proyecto, ejecutar la aplicación, revisar el código o copiar cualquier fragmento que necesites.
6.1. ¿Cómo volver al último commit?
Cuando termines de revisar una versión antigua, normalmente querrás regresar a la versión más reciente.
Si tu rama principal se llama main, simplemente ejecuta:
git checkout main
Si tu proyecto utiliza la rama master, entonces sería:
git checkout master
Git restaurará inmediatamente la versión más reciente del proyecto y podrás continuar trabajando normalmente.
7. ¿Qué ocurre con HEAD al usar Git checkout?
Cuando ejecutas git checkout hacia un commit antiguo, el puntero HEAD deja de apuntar a la rama principal y pasa a apuntar directamente al commit seleccionado.
A esta situación se la conoce como Detached HEAD.
Por ejemplo:
Antes:
main
│
▼
Commit D ← HEAD
Después de ejecutar checkout:
main
│
▼
Commit D
Commit B ← HEAD
Esto significa que estás inspeccionando una versión concreta del proyecto y no trabajando sobre una rama.
8. Diferencia entre Git checkout, Git restore, Git reset y Git revert
Estos comandos suelen confundirse porque todos permiten volver atrás de alguna forma, pero cada uno tiene un propósito diferente.
| Comando | ¿Qué hace? | ¿Modifica el historial? |
|---|---|---|
git checkout | Viaja temporalmente a otro commit o cambia de rama. | ❌ No |
git restore | Recupera archivos descartando cambios sin guardar. | ❌ No |
git reset | Mueve la referencia de la rama a otro commit y puede eliminar cambios. | ✅ Sí (según el modo utilizado) |
git revert | Crea un nuevo commit que deshace otro commit anterior. | ❌ No elimina historial |
Como puedes observar, Git checkout no elimina commits ni modifica el historial, simplemente cambia la versión del proyecto que estás visualizando en ese momento.
9. Buenas prácticas al utilizarlo
Para aprovechar este comando de forma segura es recomendable seguir algunas recomendaciones:
- Realiza un
git statusantes de ejecutar checkout. - Guarda los cambios pendientes antes de viajar a otro commit.
- Consulta el historial con
git log --onelinepara localizar rápidamente el commit deseado. - Utiliza checkout únicamente para inspeccionar versiones antiguas cuando no necesites modificar el historial.
- Cuando termines, vuelve a la rama principal para continuar desarrollando el proyecto.
10. Conclusión
git checkout es una de las herramientas más útiles para explorar el historial de un repositorio. Permite viajar a cualquier commit anterior, revisar cómo evolucionó el proyecto y recuperar información sin alterar el historial de Git.
Dominar este comando te ayudará a comprender mejor la evolución de tu código y a resolver problemas con mayor rapidez. En los siguientes capítulos del curso aprenderás cómo utilizar git checkout para trabajar con ramas (branches), uno de los pilares fundamentales de cualquier flujo de trabajo profesional con Git.
