====== Setting up the prompt to show git branch and state information ======
A small snippet of code is run every time the prompt is about to be printed, that outputs information about the current branch, and staged and unstaged modifications.
==== On Linux ====
Put the following in your ''~/.bashrc'' file:
for candidate in /usr/share/git-core/contrib/completion/git-prompt.sh /usr/lib/git-core/git-sh-prompt; do
# This path might need to be adjusted ^^^
! type __git_ps1 &>/dev/null && [ -e $candidate ] && . $candidate
done
if type __git_ps1 &>/dev/null; then
export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1
export GIT_PS1_SHOWCOLORHINTS=1
export PROMPT_DIRTRIM=2
export PROMPT_COMMAND='__git_ps1 "\w" "\\\$ "'
fi
... and then reload your shell config with ''exec bash''.
==== On Mac ====
Edit `~/.bash_profile`
if [ -f $(brew --prefix)/etc/bash_completion.d/git-prompt.sh ]; then
. $(brew --prefix)/etc/bash_completion.d/git-prompt.sh # This path might need to be adjusted
fi
export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWSTASHSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1
# export GIT_PS1_SHOWUPSTREAM=verbose
# export GIT_PS1_DESCRIBE_STYLE=branch
export PROMPT_COMMAND='__git_ps1 "\u@\h:\w" " \\\$ "'
export GIT_PS1_SHOWCOLORHINTS=1
(Works only with the homebrew version of git.)
==== Missing ''git-prompt.sh'' ====
Under both Linux and Mac, if you cannot find ''git-prompt.sh'', just get the latest version from git git
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh,
save it anywhere in the home directory, and put the path to it in the line annotated with "This path might need to be adjusted".