Re: [PATCH] Add git-branches-script
- From
- Miguel Bazdresch <monotone-01@thewizardstower.org>
- Date
- Aug 17, 2005, 20:37 UTC
- Message-ID
- <20050817203758.GA1332@localhost.domain.invalid>
- In-Reply-To
- <20050815204430.GA77829@rossby.metr.ou.edu>
* Amos Waterland <apw@rossby.metr.ou.edu> [2005-08-16 00:48]:
Show 15 quoted lines
> 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/