Evgeny Goldin works as a Technical Evangelist for the JetBrains TeamCity CI build server. He speaks Java, JavaScript, Perl and Groovy. His favorite products are MediaWiki, Intellij IDEA, Git, Artifactory, Gradle, YouTrack and TeamCity. He enjoys driving, learning and solving challenging problems. He doesn't like wasting time and being unproductive and believes that simplicity, attention to details and tidy working environments are the most efficient approaches to successful delivery. Evgeny is a DZone MVB and is not an employee of DZone and has posted 17 posts at DZone. You can read more from them at their website. View Full User Profile

Displaying Git branch in Linux command prompt

06.05.2011
| 4031 views |
  • submit to reddit

Even though I create "dev" branch for all my Git projects and perform all development work there, I need to make sure I’m still on the "dev" branch from time to time. "gs" is my alias to "git status" and I run it very frequently for that and other purposes.

But this beautiful Git presentation (download) by Luca Milanesio of GitEnterprise and HudsonMobi provided a better solution! Take a look:

 

[~/projects]$ git clone git://git.kernel.org/pub/scm/git/git.git
[~/projects]$ cd git
[~/projects/git]$ git checkout v1.7.5.4
[~/projects/git]$ make prefix=/usr/local all
[~/projects/git]$ sudo make prefix=/usr/local install
[~/projects/git]$ git --version
git version 1.7.5.4
[~/projects/git]$ source contrib/completion/git-completion.bash
[~/projects/git]$ export PS1='\W$(__git_ps1 " (%s)") \$ '
git ((v1.7.5.4)) $

Now my command prompt always displays current Git branch. Let’s try TeamCity build agent checkout folder:

git ((v1.7.5.4)) $ cd ~/java/agent/work/56ff0db610964031/
56ff0db610964031 (master) $

It works! Many thanks, Luca.

#[12:48:47][~/projects/git] ((v1.7.5.4)) $ cat ~/.bash_profile | grep PS1
PS1='#[\t][\w]$(__git_ps1 " (%s)") \$ '
#[12:49:45][~/projects/git] ((v1.7.5.4)) $ cd
#[12:52:40][~] $

From http://evgeny-goldin.com/blog/displaying-git-branch-linux-command-prompt

Published at DZone with permission of Evgeny Goldin, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)