¿Cómo get el estado actual de HEAD en git?

Por ejemplo, si estoy en una sucursal, quiero get el nombre de la sucursal. Pero si estoy en estado HEAD aislado, quiero get la identificación de confirmación.

Básicamente, estoy buscando una interfaz para el file .git/HEAD . Sé que podría cat , pero tal vez haya un command que haga eso por mí (para que no tenga que manejar casos GIT_DIR como que GIT_DIR no esté dentro de GIT_WORK_TREE etc.)

Si está utilizando la finalización de git https://github.com/git/git/blob/master/contrib/completion/git-completion.bash . Que generalmente se instala automáticamente.

Puedes llamar

 echo $(__git_ps1 '%s') 

De lo contrario, usa.

 git symbolic-ref --short HEAD 2> /dev/null || git rev-parse HEAD