Como encontrar o ramo git atual no estado HEAD desanexado

Eu posso encontrar o nome atual da ramificação git seguindo um destes procedimentos:

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

Mas quando estiver em um estado HEAD desanexado, como na fase pós-construção em um Jenkins maven build (ou em uma busca no Travis git), esses comandos não funciona

Minha solução de trabalho atual é esta:

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

Exibe qualquer nome de filial que tenha o último commit na ponta HEAD. Isso funciona bem, mas acho que alguém com um git-fu mais forte pode ter uma solução mais bonita?

questionAnswers(5)

yourAnswerToTheQuestion