====== 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".