git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Add git-branches-script

From
MBMiguel 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/
Previous: Kalle Valo
Message 7 of 7 in “Add git-branches-script”
  1. Add git-branches-scriptAmos Waterland, Aug 15, 2005
  2. Kalle ValoAug 16, 2005
  3. Change git-branch to list branchesKalle Valo, Aug 16, 2005
  4. Junio C HamanoAug 16, 2005
  5. Kalle ValoAug 17, 2005
  6. Kalle ValoAug 17, 2005
  7. Miguel BazdreschAug 17, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.