Cómo encontrar la rama git actual en estado HEAD separado

Puedo encontrar el nombre actual de la rama git haciendo cualquiera de estos:

git branch | awk '/^\*/ { print $2 }'
git describe --contains --all HEAD

Pero cuando está en un estado HEAD separado, como en la fase posterior a la compilación en un Jenkins Maven build (o en un Travis git fetch), estos comandos no funcionan.

Mi solución de trabajo actual es esta:

git show-ref | grep $(git show-ref -s -- HEAD) | sed 's|.*/\(.*\)|\1|' | grep -v HEAD | sort | uniq

Muestra cualquier nombre de rama que tenga la última confirmación en su punta HEAD. Esto funciona bien, pero siento que alguien con git-fu más fuerte podría tener una solución más bonita.

Respuestas a la pregunta(5)

Su respuesta a la pregunta