parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \W[\033[32m]$(parse_git_branch)[\033[00m] $ "
============================
Notes:
Depending on configuration changes you may have made previously you may already have a PS1 variable being exported. In this case you will need to add $(parse_git_branch) somewhere in the existing value.
The [\033[32m] parts set the color of the branch text. If you prefer another color check online for a reference on valid values.
The \ in $(parse_git_branch) is important to ensure the function is called each time the prompt is displayed; without it, the displayed branch name would not be updated when, for example, checking out a different branch or moving in and out of a Git repository directory.
If you are using an existing Terminal session, don’t forget to make the changes take effect by sourcing the file with the command source ~/.bash_profile.