# Git branch in prompt. parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } parse_git_tag () { git describe --tags 2> /dev/null } parse_git_branch_or_tag() { local OUT="$(parse_git_branch)" if [ "$OUT" == " ((no branch))" ]; then OUT="[$(parse_git_tag)]"; fi echo $OUT } export PS1="\u@\h:\w\[\033[32m\] \$(parse_git_branch_or_tag)\[\033[00m\]$ "