Inicio·Mensajes de error

git · Git

El mensaje

You are in 'detached HEAD' state.

Qué significa

HEAD apunta directamente a un commit en vez de a un nombre de rama, así que cualquier commit que hagas aquí no queda unido a ningún nombre. Se llega así al hacer checkout de un hash o de una etiqueta, al trabajar dentro de un submódulo, o porque CI hizo checkout de un commit concreto. Para conservar lo hecho, git switch -c nombre crea una rama justo aquí y no pierde nada. Si simplemente haces git switch main, los commits que creaste quedan sin nada que los señale: el reflog aún los encuentra un tiempo y luego la recolección de basura los borra.

El arreglo

git switch -c rescue
Lo imprime
git
Git
29

Casi todos los errores de git son una negativa que significa "hacer eso desde este estado perdería algo"; fatal: indica que git se detuvo sin cambiar nada, y las líneas hint: bajo la primera suelen traer el remedio real.

Cómo leer un mensaje de error

  • Lee desde la primera línea. Cuanto más abajo, más son las tripas de la herramienta; la causa suele estar arriba.
  • Si hay un archivo y un número de línea, empieza ahí: no el marco superior de la pila, sino la línea más alta que nombre un archivo tuyo.
  • Busca el mensaje literal, pero quita antes tus rutas y nombres de variables: eso es lo que impide que la búsqueda coincida.
  • La misma condición se redacta distinto según la versión. Si los resultados no cuadran, añade el número de versión.
  • Antes de pegar un arreglo, comprueba qué descarta. Algunos no se pueden deshacer.

Preguntas frecuentes

Q. ¿Qué significa «You are in 'detached HEAD' state.»?

HEAD apunta directamente a un commit en vez de a un nombre de rama, así que cualquier commit que hagas aquí no queda unido a ningún nombre. Se llega así al hacer checkout de un hash o de una etiqueta, al trabajar dentro de un submódulo, o porque CI hizo checkout de un commit concreto. Para conservar lo hecho, git switch -c nombre crea una rama justo aquí y no pierde nada. Si simplemente haces git switch main, los commits que creaste quedan sin nada que los señale: el reflog aún los encuentra un tiempo y luego la recolección de basura los borra.

Q. ¿Cómo se arregla?

git switch -c rescue — antes de ejecutarlo, mira arriba qué descarta este comando.

Q. ¿Qué herramienta lo imprime?

git. Está en Git y el mensaje tiene 6 palabras.

Errores cercanos