私用でCloud9を利用する機会があり,その中でgitのブランチ名がターミナル上に表示する機能があり非常に有用だと思ったのでMacに導入したのでメモがわりに記載.
便利な機能だが使っている人あまり見ないので,色々な人が記載しているが整理してまとめたメモみたいなものbrewの使用を前提としている.
Bashのオートコンプリート機能導入
まずはbrewを利用してBashのオートコンプリート機能を導入する.以下のコマンドでgit以外の様々なコマンドに関するオートコンプリート機能がBashに導入される.
brew install bash-completion
インストールが終了したら.bash_profileに以下をechoコマンドで追記することによりオートコンプリート機能の導入は完了.
echo "[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion" >> ~/.bash_profile
Gitのオートコンプリート機能導入
次にgitに関するオートコンプリート機能を導入する.brewでgitを入れる方法もあるみたいだが,個人的にいらないものが色々ついてくる気がするのでオートコンプリート機能のみを下記コマンドでインストールする.
curl -o "/usr/local/etc/bash_completion.d/git-completion.bash" https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
これに対するパーミッションを下記コマンドで設定してオートコンプリート機能の導入は完了.
sudo chmod 755 /usr/local/etc/bash_completion.d/git-completion.bash
Gitのブランチ名を表示
最後にgitの現在使っているブランチ名を表示する機能を導入する.まず以下のコマンドでgitの状態をプロンプトに表示する機能をインストールする.
curl -o "/usr/local/etc/bash_completion.d/git-prompt.sh" https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
前節と同様にしてファイルのパーミッションを以下のように変更して完了.
sudo chmod 755 /usr/local/etc/bash_completion.d/git-prompt.sh
最後に.bash_profileにヒアドキュメント機能を利用して,下記のように追記することでGitのブランチ名を表示するという目的は達成である.
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の部分がターミナルに表示されるブランチ名などの接頭辞部分なので適宣調整することで好みの形式にすることが可能.