Skip to content

Instantly share code, notes, and snippets.

@mathiasverraes
Last active June 23, 2018 14:12
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mathiasverraes/4593299 to your computer and use it in GitHub Desktop.
Save mathiasverraes/4593299 to your computer and use it in GitHub Desktop.
Show git branch name on command prompt. Put this in your ~/.bash_profile or whatever your OS uses, then restart your terminal and cd to a git folder. It should look something like: yourname@machine /path/to/project [my-branchname] $ UPDATE: the `with_stashes.sh` version also shows the number of entries in your git stash on the command prompt. Sc…
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \[\1\]/'
}
# git branch on command prompt
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;31m\]\u@\h \[\033[01;34m\]\w\[\033[01;35m\]$(parse_git_branch)\[\033[01;34m\] \$ \[\033[00m\]'
else
PS1='\[\033[01;31m\]\u@\h \[\033[01;00m\]\w\[\033[00;33m\]$(parse_git_branch)\[\033[00m\] \$ '
fi
# Change the window title of X terminals
PROMPT_COMMAND='echo -ne "\033]0;${PWD/$HOME/~}:$(parse_git_branch)\007"'
# stash
count_git_stash() {
git stash list 2> /dev/null | wc -l | sed 's/^ *//g'
}
render_git_stash() {
if [[ $(count_git_stash) ]]; then
echo " Stashed: $(count_git_stash)"
fi
}
# git branch on command prompt
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \[\1\]/'
}
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;31m\]\u@\h \[\033[01;34m\]\w\[\033[01;35m\]$(parse_git_branch)$(render_git_stash)\[\033[01;34m\] \$ \[\033[00m\]'
else
PS1='\[\033[01;31m\]\u@\h \[\033[01;00m\]\w\[\033[00;33m\]$(parse_git_branch)$(render_git_stash)\[\033[00m\] \$ '
fi
# Change the window title of X terminals
PROMPT_COMMAND='echo -ne "\033]0;${PWD/$HOME/~}:$(parse_git_branch)\007"'
@mathiasverraes
Copy link
Author

or ~/.bashrc in linux

@Steerlin
Copy link

Steerlin commented Aug 6, 2013

great thx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment