Skip to content

Instantly share code, notes, and snippets.

@ryross
Created March 5, 2010 19:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryross/323014 to your computer and use it in GitHub Desktop.
Save ryross/323014 to your computer and use it in GitHub Desktop.
bash script for git branch recognition
function find_git_branch {
local dir=. head
until [ "$dir" -ef / ]; do
if [ -f "$dir/.git/HEAD" ]; then
head=$(< "$dir/.git/HEAD")
if [[ $head == ref:\ refs/heads/* ]]; then
git_branch=" (${head#*/*/})"
elif [[ $head != '' ]]; then
git_branch=' (detached)'
else
git_branch=' (unknown)'
fi
return
fi
dir="../$dir"
done
git_branch=''
}
green=$'\e[1;32m'
magenta=$'\e[1;35m'
normal_colours=$'\e[m'
PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"
PS1="\[$green\]\u@\h:\W\[$magenta\]\$git_branch\[$green\]\\$\[$normal_colours\] "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment