You can have functions in the PS1 variable, just make sure to single quote it or use escape for special chars:
gitPS1(){
gitps1=$(git branch 2>/dev/null | grep '*')
gitps1="${gitps1:+ (${gitps1/#\* /})}"
echo "$gitps1"
}
PS1='\u@\h:\w$(gitPS1)$ '
It will give you a prompt like this:
user@Host:/path (master)$
Notes:
~/.bashrc
or /etc/bashrc
or ~/.bash_profile
or ~./profile
file (depending on the OS) and save it.source ~/.bashrc
(distro specific) after saving the file.