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.