zen of coding

Show git branch in your bash prompt

Quite a convenient little snippet. Thought I would share it with all my dear readers and git lovers.

(Thanks to the original author, whom I cannot remember right now. I’ll gladly post the link to the original source if someone reminds me)

Add the snippet below to your .bash_profile
(Don’t forget to “source” the file if need be).

And now your bash will look something like:
$ /usr/home/teknoid/some-git-project(master)

Where, “(master)” is of course the git branch name you are currently working with. (Hey, picking of colors is up to you ;))


#showing git branches in bash prompt
function parse_git_branch {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'

function proml {
  local         RED="\[\033[0;31m\]"
  local   LIGHT_RED="\[\033[1;31m\]"
  local      YELLOW="\[\033[0;33m\]"
  local LIGHT_GREEN="\[\033[1;32m\]"
  local       WHITE="\[\033[1;37m\]"
  local  LIGHT_GRAY="\[\033[0;37m\]"
  local LIGHT_PURPLE="\[\033[1;34m\]"
  case $TERM in

PS2='> '
PS4='+ '
  • I found this one a little while ago, take it to a whole new level :)

    shows if you have commits to push, if there are changes in the working tree and big warnings for detached head (handy for submodules) screen shot included in the link


  • teknoid


    Awesome. thanks.

  • Pingback: Tweets that mention Show git branch in your bash prompt¬†|¬†nuts and bolts of cakephp -- Topsy.com()

  • pi3r

    Thanks, that’s really cute :)

  • Anonymous bin Ich

    How about this:

    function parse_git_branch {
    echo “($(git branch –no-color 2> /dev/null | cut -d” ” -f2-))”

    • Ira

      returns ALL the branches (I have almost 50 in one project). you want only the active one.

  • Dave

    An even easier way to get the branch is:
    git branch –no-color 2> /dev/null | grep ‘*’ | awk ‘{print $2}’

%d bloggers like this: