I want the current git branch to show in the bash prompt.
This code is based on code provided here and here. I’ve combined aspects from both sites.
First, grab the code from here and copy it to ~/.gitcompletion.sh.
Add the following lines to the bottom of ~/.bshrc:
# Configure colors, if available.
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
c_reset='\[\e[0m\]'
c_user='\[33[1;33m\]'
c_path='\[\e[0;33m\]'
c_git_clean='\[\e[0;36m\]'
c_git_dirty='\[\e[0;35m\]'
else
c_reset=
c_user=
c_path=
c_git_clean=
c_git_dirty=
fi
# Function to assemble the Git part of our prompt.
git_prompt ()
{
if ! git rev-parse --git-dir > /dev/null 2>&1; then
return 0
fi
git_branch=$(__git_ps1 "%s")
if git diff --quiet 2>/dev/null >&2; then
git_color="$c_git_clean"
else
git_color="$c_git_dirty"
fi
echo " [$git_color$git_branch${c_reset}]"
}
export GIT_PS1_SHOWDIRTYSTATE="true"
source ~/.git-completion.sh
PROMPT_COMMAND='PS1="${c_user}\u${c_reset}@${c_user}\h${c_reset}:${c_path}\w${c_reset}$(git_prompt)\$ "'
That will do it. Just “source ~/.bashrc” from the keyboard to make the commands active. The changes will be automatically active in all new terminal windows.

