git checkout
git checkout: cambia a una rama o restaura archivos del directorio de trabajo.
Nota: Este comando ha pasado a usarse menos en favor de comandos más específicos como git switch y git restore, introducidos en Git 2.23 (agosto de 2019). Estos comandos nuevos buscan que Git sea más intuitivo y reducir el riesgo de perder datos por accidente.
El comando git checkout es un comando versátil de Git que permite moverte entre ramas, restaurar archivos y cambiar a commits concretos. Sin embargo, en versiones recientes de Git muchas de sus funciones se han separado en dos comandos nuevos: git switch y git restore, para ofrecer un conjunto de comandos más claro y centrado.
El propósito principal de git checkout es cambiar entre distintas ramas o restaurar archivos a un estado anterior. Ayuda a los desarrolladores a trabajar en varias funcionalidades o correcciones a la vez, porque facilita cambiar de una rama a otra. También permite descartar cambios en archivos y da cierto margen de seguridad cuando pruebas cosas o te equivocas.
- Échale un vistazo a este peculiar hilo en StackOverflow para descubrirlo. En inglés,
check out
también significa “echar un vistazo”.
Ejemplos
Cambiar a una rama existente:
git checkout feature-branchCrear una rama nueva y cambiar a ella al momento:
git checkout -b new-featureRestaurar un archivo al estado del último commit. La opción especial -- se usa para decirle a Git que todos los argumentos siguientes son rutas de archivo. Esto es necesario para evitar ambigüedades cuando una ruta de archivo podría confundirse con una rama o un commit:
git checkout -- path/to/file.jsCambiar a un commit concreto, entrando en estado detached HEAD, es decir, sin estar en una rama:
git checkout 1a2b3c4dSin embargo, en versiones más nuevas de Git (2.23+), se recomienda usar git switch para cambiar de rama y git restore para restaurar archivos. Separar responsabilidades hace que los comandos sean más intuitivos y menos propensos a errores.
Cambiar a una rama existente (Git 2.23+):
git switch feature-branchCrear una rama nueva y cambiar a ella (Git 2.23+):
git switch -c new-featureRestaurar un archivo al estado del último commit (Git 2.23+):
git restore path/to/file.jsEn resumen: aunque git checkout sigue usándose mucho y todavía tiene soporte, es buena práctica empezar a usar git switch y git restore para acciones más claras y específicas en tu flujo de Git. Así evitas confusiones y errores, sobre todo si Git todavía te suena nuevo.
.gitignoregit checkoutgit configgit taggit worktree