git branches and command prompts
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.
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] $ "
exportPROMPT_COMMANDPS1
### end ######Here's the result:
/home/jason
[jason@phantom] $ cd src/foss/git.git/home/jason/src/foss/git.git(master)
[jason@phantom] $ git checkoutgit_shell_dir_opt
Switched to branch 'git_shell_dir_opt'/home/jason/src/foss/git.git(git_shell_dir_opt)
[jason@phantom] $
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
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