Git Checkout
Última actualización
git checkout es el comando clásico para moverte por tu repositorio - cambiar de rama, crear una rama con -b, comprobar un commit específico o restaurar un archivo. Hace muchas cosas, y por eso las versiones más nuevas de Git dividieron sus funciones en git switch (ramas) y git restore (archivos). Ambos estilos siguen funcionando.
Prueba estos comandos en el terminal playground - un shell real en tu navegador, sin nada que instalar.
Sintaxis
| Command | What it does |
|---|---|
git checkout main | Cambiar a una rama existente |
git checkout -b feature | Crear una nueva rama y cambiar a ella |
git checkout <hash> | Comprobar un commit específico (HEAD desacoplado) |
git checkout -- file.txt | Descartar los cambios de un archivo (restaurarlo) |
git checkout main -- file.txt | Restaurar un archivo desde otra rama |
checkout vs switch vs restore
| Task | Old (checkout) | Modern |
|---|---|---|
| Cambiar de rama | git checkout main | git switch main |
| Crear + cambiar | git checkout -b x | git switch -c x |
| Descartar cambios de un archivo | git checkout -- f | git restore f |
Preguntas frecuentes sobre git checkout
¿Qué hace git checkout?
Te mueve por el repositorio. Lo más habitual es que cambie de rama (
git checkout main), pero también puede crear una rama (-b), comprobar un commit específico o restaurar un archivo a una versión anterior. Como hace varias tareas distintas, las versiones modernas de Git introdujeron git switch y git restore para separarlas.¿Cuál es la diferencia entre git checkout y git switch?
git switch es un comando más nuevo y enfocado que solo cambia (y con -c, crea) ramas - más claro y más difícil de usar mal. git checkout hace eso además de restaurar archivos y comprobar commits. Para trabajar con ramas, git switch main y git checkout main son equivalentes; usa el que prefiera tu equipo.¿Cómo compruebo un commit específico?
Ejecuta
git checkout <hash>. Esto te deja en un estado de "HEAD desacoplado" - estás viendo ese commit pero no estás en ninguna rama. Para conservar el trabajo desde ahí, crea una rama: git switch -c newbranch. Para volver, comprueba una rama de nuevo con git switch main.¿Cómo descarto los cambios de un archivo con checkout?
Ejecuta
git checkout -- file.txt para descartar los cambios no confirmados de ese archivo y restaurar la última versión confirmada. En las versiones modernas de Git, el equivalente más claro es git restore file.txt. Ambos descartan tus ediciones, así que asegúrate de que no las necesitas.¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar
git checkout en un shell real en tu navegador - sin nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre la creación y el cambio de ramas paso a paso.