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.