When working a lot with git knowing which branch you are in is an important information. Putting the branch information in your bash prompt makes this information always visible and also shows immediatly if you are in a folder managed by git.
This is how it looks:
13:46:50 sven@tsui:~/projects/Thruk (master) %>
All you need is a simple function in your .bashrc
bash_prompt() {
local BLUE="\\[\e[0;34m\\]"
local RED="\\[\e[0;31m\\]"
local GREEN="\\[\e[0;32m\\]"
local NORMAL="\\[\e[0;0m\\]"
br=$(git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \\(.*\\)/\1/')
psbr=""
if [ ! -z "$br" ]; then
if [ "$br" = 'master' ]; then
psbr="($RED$br$NORMAL) "
elif [ "$br" = 'integration' ]; then
psbr="($GREEN$br$NORMAL) "
else
psbr="($BLUE$br$NORMAL) "
fi
fi
local UC=$NORMAL # user's color
local UP="%" # user prompt
[ $UID -eq "0" ] && UP="#" # root's prompt
# set a fancy prompt
PS1="${UC}\t \u@\h:\w$NORMAL ${psbr}$UC\\# ${UP}>$NORMAL "
[ $UID -eq "0" ] && PS1="$PS1$GREEN"
PS2='\t \u@\h \$> '
}
PROMPT_COMMAND=bash_prompt
bash_prompt
bash prompt is a bash function which will be run before displaying the prompt. By changing the PS1 variable within this function the prompt can be enhanced. The last line just calls the function once to set the nice prompt.
The master branch will be colored in red, the integration branch is green and all others are blue.