Forma de mostrar el estado de fusión en la línea de command en git

Actualmente tengo configurado git para mostrar en qué twig estoy, (y mi línea de command para mostrar en qué directory estoy) con el siguiente script bash:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\] \[\033[33;1m\]\w\[\033[m\] (\$(git branch 2>/dev/null | grep '^*' | colrm 1 2)) \$ \n$ " export PS2="$ " 

Me pregunto si hay una forma de mostrar el estado de "fusión", de modo que cuando me estoy fusionando también indique que se merging en la línea de command (después de la twig en la que estoy). Lo he visto en otro lugar, así que estoy bastante seguro de que es posible, pero no sé cómo.

Puede ver en este script git-ps1 un indicador de estado mucho más completo, con rebase y fusión en él.

 local g="$(git rev-parse --git-dir 2>/dev/null)" if [ -n "$g" ]; then local r local b if [ -d "$g/rebase-apply" ] then if test -f "$g/rebase-apply/rebasing" then r="|REBASE" elif test -f "$g/rebase-apply/applying" then r="|AM" else r="|AM/REBASE" fi b="$(git symbolic-ref HEAD 2>/dev/null)" elif [ -f "$g/rebase-merge/interactive" ] then r="|REBASE-i" b="$(cat "$g/rebase-merge/head-name")" elif [ -d "$g/rebase-merge" ] then r="|REBASE-m" b="$(cat "$g/rebase-merge/head-name")" elif [ -f "$g/MERGE_HEAD" ] then r="|MERGING" b="$(git symbolic-ref HEAD 2>/dev/null)" 

Para la parte de fusión, de hecho testing para el file MERGE_HEAD , como lo sugiere Zeeker .

Como sugirió @Zeeker, básicamente puedes tener algo como:

 PS1='$([[ -e .git/MERGE_HEAD ]] && echo "merging ")\$ ' 

O

 PS1="\$([[ -e .git/MERGE_HEAD ]] && echo 'merging ')\\\$ " 

Puede fusionarlo con su PS1 actual; Personalice echo merging o use printf para producir códigos ANSI también.