A Git-aware Shell

It is helpful to have your shell aware of git for various purposes

  • make your prompt react to entering a git controlled directory and have it display info about its state
  • provide command TAB-completion

Git distributions provide support for this, although your OS or the UPS packaged version may lack them. You can download the completion commands appropriate to your shell here:

Click on the "Raw" button for a downloadable link.

If you "source" it you will gain the ability to use TAB completion. You may also use the functions defined there to markup your prompt. For example, in Bash you may do:

boringprompt> source git-completion.bash
boringprompt> export PS1='$(__git_ps1 "(%s)")\u@\h:\W> '
bvlbne@lbne0001:~> cd myrepo

See also the for more fanciness.