git-branch-in-prompt.md (953B)
1 # Git branch in prompt 2 3 While creating set of [bash_completion rules](https://bugs.freedesktop.org/show_bug.cgi?id=34973) for mc-tool, I read some other rule files to see how things are done. I happened to spot some useful functions from git's completion, mainly __git_ps1, which prints the name of the current branch. 4 5 Having the name of the current branch can save some mistakes every now and then, and with environment variable GIT_PS1_SHOWDIRTYSTATE you can even make it show if there are non-staged and/or non-committed changes in your tree. 6 7 This is how I used it: 8 9 `PS1='\u@\h \w$(GIT_PS1_SHOWDIRTYSTATE=1 __git_ps1)\$ '` 10 11 By default the output of __git_ps1 is " (name-of-branch)", or "" if current directory does not belong to a git tree. The format string can be given on command line, like " (%s)". 12 13 The current version seems to have a small glitch that causes it to print give (unknown) for home directory, if you use git global settings.