Skip to contentSkip to conversation

git branches and command prompts

OT Jason 2 participants 4 messages Aug 26, 2010 – Aug 27, 2010

lore
Share & tools
lore

Jason

author
#0 lore raw

All,

if you're like me, you play with a lot of open source code. A lot of it is now in git repositories. I frequently forget which branch I'm on in each project, particularly with Android/Cyanogen. Here's a hack I figured out that helps me out, place it in ~/.bashrc :

### begin ####

PROMPT_COMMAND="echo -n \${PWD};
        if git branch >/dev/null 2>&1; then 
           echo -n \" (\$(git branch | grep ^* | cut -d ' ' -f 2-))\"
        fi"

PS1="\n[\[\033[01;34m\]\u\[\033[00m\]@\h] $ "
export PROMPT_COMMAND PS1
### end ######

Here's the result:

/home/jason
[jason@phantom] $ cd src/foss/git.git
/home/jason/src/foss/git.git (master)
[jason@phantom] $ git checkout git_shell_dir_opt Switched to branch 'git_shell_dir_opt' /home/jason/src/foss/git.git (git_shell_dir_opt)
[jason@phantom] $

Obviously you can tweak it to just one line, or a simpler PS1, or whatever. Thought it might help some folks.

Jason.

author
#1 lore raw

Sorry, TB mangled the formatting. Hopefully quoting helps. :-(

Quoted 23 lines · Jason

All,

if you're like me, you play with a lot of open source code. A lot of it is now in git repositories. I frequently forget which branch I'm on in each project, particularly with Android/Cyanogen. Here's a hack I figured out that helps me out, place it in ~/.bashrc :

### begin ####

PROMPT_COMMAND="echo -n \${PWD};
   if git branch >/dev/null 2>&1; then
      echo -n \"(\$(git branch | grep ^* | cut -d ' ' -f 2-))\"
   fi"

PS1="\n[\[\033[01;34m\]\u\[\033[00m\]@\h] $ "
export PROMPT_COMMAND PS1
### end ######

Here's the result:

/home/jason
[jason@phantom] $ cd src/foss/git.git
/home/jason/src/foss/git.git (master)
[jason@phantom] $ git checkout git_shell_dir_opt
Switched to branch 'git_shell_dir_opt'
/home/jason/src/foss/git.git (git_shell_dir_opt)
[jason@phantom] $

#2 lore raw
In reply to Jason

Since we are sharing, mine is at
<http://github.com/mina86/dot-files/blob/master/bashrc>. Also, from what I know, bash-completion package has some funky command meant to be used in prompt.

Signature · 9 lines
Best regards,                                        _     _
| Humble Liege of Serenely Enlightened Majesty of  o' \,=./ `o
| Computer Science,  Michał "mina86" Nazarewicz       (o o)
+----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo--

--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
author
#3 lore raw
Quoted 5 lines · MichaÅ‚ Nazarewicz

Since we are sharing, mine is at
<http://github.com/mina86/dot-files/blob/master/bashrc>. Also, from what I know, bash-completion package has some funky command meant to be used in prompt.

wow. That rocks. There are so many neat tricks in there it's not even funny.

Thanks for sharing.

Jason.

--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html