Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Add git branch name and status to your shell prompt
# If the current directory is a git repository, this displays [branch_name] and,
# if there are uncommitted changes, an asterisk.
# Example:
# ~/projects/my_project[master*]:
# I should also point out this uses my own hot pink & teal shell colour scheme (best viewed on white background).
# Change the colours if you don't like pretty things.
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
export PS1='\[\033[0;35m\]\w\[\033[0;36m\]$(parse_git_branch)\[\e[0m\]: '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.