Skip to content

@djmitche /git-prompt.sh forked from henrik/.bashrc
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
edit existing PS1; be more efficient
# http://henrik.nyh.se/2008/12/git-dirty-prompt
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/
# username@Machine ~/dev/dir [master] $ # clean working directory
# username@Machine ~/dev/dir [master*] $ # dirty working directory
# djmitche: *edit* an existing PS1 to add the git information
# djmitche: only invoke 'git' and 'sed' once (each) for each prompt
function __git_info {
local status dirty branch
status=$(git status 2> /dev/null)
test -z "$status" && return
[[ "$status" =~ "working directory clean" ]] || dirty="*"
branch=$(sed '1{s/.*branch \(.*\).*/\1/g;q}' <<<"$status")
echo " [$branch$dirty]"
}
# append git info to the current prompt
export PS1=`echo "$PS1"|sed 's/\\\\w/\\\\w$(__git_info)/g'`
#export PS1='\u@\h \[\033[1;33m\]\w\[\033[0m\]$(__git_info)$ '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.