¿Qué es el Error 'Detached HEAD' en Git?
El estado Detached HEAD (cabeza desacoplada) en Git ocurre cuando realizas un checkout directamente a un commit específico en lugar de apuntar a una rama (branch). En este estado, cualquier cambio que hagas y guardes no pertenecerá a ninguna rama, lo que puede provocar que pierdas tu trabajo si cambias de rama sin tomar precauciones.
Causas Principales de este Estado
- Hacer
git checkout [hash-del-commit]para inspeccionar una versión anterior del código. - Clonar o realizar operaciones automáticas en entornos de integración continua (CI/CD) mal configurados.
- Omitir la creación de una nueva rama antes de empezar a programar sobre un commit histórico.
Método 1: Crear una rama temporal para guardar los cambios
Si estás en estado Detached HEAD y ya has hecho cambios que no quieres perder, la mejor solución es crear una rama nueva en ese mismo punto exacto.
- Ejecuta el siguiente comando para crear y cambiarte a una nueva rama:
git checkout -b nueva-rama-trabajo - Verifica que estás en la nueva rama ejecutando:
git status - Realiza el
addycommitde forma habitual:git add .ygit commit -m "Guardando cambios desde detached HEAD"
Método 2: Volver a una rama existente descartando cambios no guardados
Si no te importan los cambios experimentales que realizaste en el estado desacoplado y simplemente deseas regresar a tu flujo de trabajo normal en la rama principal (por ejemplo, main o master):
- Asegúrate de descartar o guardar temporalmente cualquier modificación con
git stashsi fuera necesario. - Vuelve a la rama principal ejecutando:
git checkout main - Verifica que tu repositorio local vuelve a estar sincronizado y listo para continuar desarrollando.