El comando git checkout cambia entre ramas o restaura los archivos del árbol de trabajo (working tree). Hay varias opciones diferentes para este comando que no se tratarán aquí, pero puedes echar un vistazo a todas ellas en la documentación de Git.
Checkout un commit específico
Para realizar un checkout a un commit específico, ejecuta el comando:
git checkout id-del-commit-específicopodemos obtener el identificador (id) del commit específico ejecutando:
git logCheckout a una Rama (Branch) Existente
Para realizar checkout a una rama existente, ejecuta el comando:
git checkout NOMBRE-DE-LA-RAMAPor lo general, Git no te dejará realizar checkout a otra rama a menos que tu directorio de trabajo esté limpio, porque perderías cualquier cambio del directorio de trabajo al que no le has hecho commit. Tienes tres opciones para manejar tus cambios: 1) tirarlos a la basura, 2) realizarles un commit, 3) realizarles un stash.
Checkout a una Rama Nueva
Para crear y hacer checkout a una rama nueva con un solo comando, puedes usar:
git checkout -b NOMBRE-DE-LA-RAMA-NUEVAEsto te cambiará automáticamente a la rama nueva.
Checkout a una Rama Nueva or Reiniciar una Rama a un Punto de Partida
El siguiente comando es similar al de realizar checkout a una rama nueva, pero utiliza la bandera -B (fíjese en la B mayúscula) y un parámetro opciones de PUNTO-DE-PARTIDA:
git checkout -B NOMBRE-DE-LA-RAMA PUNTO-DE-PARTIDASi la rama NOMBRE-DE-LA-RAMA no existe, Git la creará y la iniciará en PUNTO-DE-PARTIDA. Si la rama NOMBRE-DE-LA-RAMA ya existe, entonces Git restablece la rama a PUNTO-DE-PARTIDA. Esto equivale a ejecutar git branch con -f.
Forzar un Checkout
Puedes pasar la opción -f o --force con el comando git checkout para forzar a Git a cambiar de rama, incluso si tienes cambios fuera de la zona de montaje (en otras palabras, el índice del árbol de trabajo difiere de HEAD). Básicamente, se puede usar para tirar los cambios locales.
Cuando ejecutes el siguiente comando, Git ignorará las entradas no fusionadas:
git checkout -f NOMBRE-DE-LA-RAMA
# Alternativa
git checkout --force NOMBRE-DE-LA-RAMADeshacer los Cambio en tu Directorio de Trabajo
Puedes usar el comando git checkout para deshacer los cambios que has hecho en un archivo de tu directorio y trabajo. Esto revertirá el archivo a la versión en HEAD:
git checkout -- NOMBRE-DEL-ARCHIVOTraducido del artículo - Git Checkout Explained: How to Checkout, Change, or Switch a Branch in Git