From: Miguel Bazdresch Date: Wed, 17 Aug 2005 20:37:58 GMT Subject: Re: [PATCH] Add git-branches-script Message-ID: <20050817203758.GA1332@localhost.domain.invalid> In-Reply-To: <20050815204430.GA77829@rossby.metr.ou.edu> * Amos Waterland [2005-08-16 00:48]: > For people whose workflow involves switching back and forth between a > lot of branches, it can be really helpful to be able to quickly tell > which branch you are on and which ones are available. This patch > introduces a small script that when invoked as `git branches' prints a > list of available branches with a star in front of the one you are on: > > $ cd linux-2.6/ > $ git checkout -b ppc64-cleanups > $ git checkout -b ppc64-new-devel > $ git checkout -b ppc64-all-merge > $ git branches > master > * ppc64-all-merge > ppc64-cleanups > ppc64-new-devel Some might find it useful to put Amos' script in a bash function and then put the current branch in the prompt. What I did was to put this function in my .bashrc: gitbranch () { . git-sh-setup-script && branch=$(basename $(readlink $GIT_DIR/HEAD)) && echo -n "" $branch "" } Then I modified my bash prompt: export PS1='\[\033[1;31m\]\j$(gitbranch)[\w]\$ \[\033[0m\]' ^^^^^^^^^^^ Now, if my current dir is not a git repo, I have my regular prompt. As soon as I cd into a git repo, I get the current branch in the prompt, as follows: 0[~]$ cd gitrepo 0 master [~/gitrepo]$ git checkout branch1 0 branch1 [~/gitrepo]$ cd .. 0[~]$ -- Miguel Bazdresch http://thewizardstower.org/