bash-git-completion、__git_ps1のオプションを設定して様々な情報を表示する
bash-git-completionというbash向けのgitコマンド補完パッケージがありまして、プロンプトに各種便利情報を表示するための __git_ps1 関数というのが定義されている。標準だと今いるブランチが表示されて便利ですが、オプションを設定することでさらにいろいろな情報が表示できる。
オプションはGIT_PS1_SHOW**** みたいな環境変数で定義。
export GIT_PS1_SHOWUNTRACKEDFILES=1 export PS1='... $(__git_ps1) ...'
のように使う。
オプションの詳細な解説については、ソース(/etc/bash_completion.d/git)にコメントが書いてあるのでそこを読んでください。
あと、cygwinだとgitの実行が遅いのでオプション盛りすぎるとプロンプト表示が遅くなるので気をつけて!!
使える変数一覧
- GIT_PS1_SHOWUPSTREAM
- 現在のブランチがupstreamより進んでいるとき">"を、遅れているとき"<"を、遅れてるけど独自の変更もあるとき"<>"を表示する。オプションが指定できるけど(svnをトラックするかとか)ここでは解説しないのでドキュメント読んでください。
- GIT_PS1_SHOWUNTRACKEDFILES
- addされてない新規ファイルがある(untracked)とき"%"を表示する
- GIT_PS1_SHOWSTASHSTATE
- stashになにか入っている(stashed)とき"$"を表示する
- GIT_PS1_SHOWDIRTYSTATE
- addされてない変更(unstaged)があったとき"*"を表示する、addされているがcommitされていない変更(staged)があったとき"+"を表示する