OS X で環境構築するときに忘れないように Bash のプロンプトに Git のブランチ名を表示する設定をメモっとく。Bash で Git のコマンドをオートコンプリートするの続き。
前提として Homebrew で bash-completion がインストールされていることとする。インストールの詳細はBash で Git のコマンドをオートコンプリートするを参照のこと。
Bash のプロンプトに Git のブランチ名を表示する
Git を Homebrew でインストールしている場合
Homebrew で Git をインストールすると git-prompt.sh が /usr/local/etc/bash_completion.d/ にインストールされる。その場合は設定を .bash_profile に追加するだけでいい。
Git を Homebrew でインストールしていない場合
Homebrew で Git をインストールしていない場合は手動で git-prompt.sh を /usr/local/etc/bash_completion.d/ にインストールする必要がある。下記のコマンドで git-prompt.sh をダウンロードしてくることで Apple Git でも Bash のプロンプトに Git のブランチ名を表示することができる。
$ curl -o "/usr/local/etc/bash_completion.d/git-prompt.sh" https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
.bash_profile で設定する
あとは下記のように .bash_profile を設定する。
$ cat <<EOF >> ~/.bash_profile
> if type __git_ps1 > /dev/null 2>&1 ; then
> PROMPT_COMMAND="__git_ps1 '\h:\W \u' '\\\$ '; $PROMPT_COMMAND"
> GIT_PS1_SHOWDIRTYSTATE=true
> GIT_PS1_SHOWSTASHSTATE=true
> GIT_PS1_SHOWUNTRACKEDFILES=true
> GIT_PS1_SHOWUPSTREAM="auto"
> GIT_PS1_SHOWCOLORHINTS=true
> fi
> EOF
PROMPT_COMMAND は OS X 標準の PS1 設定における $ 記号の直前に Git のブランチ名を表示するように設定している。好みの表示になるように PROMPT_COMMAND は適宜変更してほしい。なお各設定項目の概要は下記のとおり。
- ファイル変更の有無 (GIT_PS1_SHOWDIRTYSTATE)
- スタッシュの有無 (GIT_PS1_SHOWSTASHSTATE)
- 新規ファイルの有無 (GIT_PS1_SHOWUNTRACKEDFILES)
- HEAD とそのアップストリームの違い (GIT_PS1_SHOWUPSTREAM)
- 表示内容のカラー化 (GIT_PS1_SHOWCOLORHINTS)
参考文献