macでbrew install git
コマンドでgitをインストースした場合、.bash_profileに下記の設定を書いておくと、コマンドの自動補完やプロンプトに作業中リポジトリのステータスが表示されるので便利です。
作業手順
エディタで.bash_profileを開きます
vi ~/.bash_profile
以下の行を追加します
## 自動補完を有効にする
source /usr/local/etc/bash_completion.d/git-prompt.sh
source /usr/local/etc/bash_completion.d/git-completion.bash
## プロンプトにgitのステータスを表示する
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUPSTREAM=auto
#export PS1='\h:\W \u\$ '
export PS1='\h:\W \u$(__git_ps1)\$ '
設定を反映させるためにsourceコマンドを実行します
source ~/.bash_profile
するとプロンプトが以下のように表示され,gitリポジトリ内で作業している場合はブランチ名が表示されます。
hostname:dir username (master *)$
また、bashの自動補完も有効になっています。
試しに"git stat"まで入力してtabキーを押してみてください。すると、以下のように残りの文字が補完されて"git status"になります
hostname:dir username (master *)$ git stat[TAB]
↓
hostname:dir username (master *)$ git status
プロンプトに表示される記号の意味
本変更を行うことで、プロンプトに"(master *)"のような形でブランチ名が表示されるのですが、ブランチ名の後ろに表示される記号は何でしょうか?
これは、ブランチ名の状態を表示しており以下の記号があります。
* addされていない変更が有る
% addされていない新規ファイルが有る
+ addされたがコミットされていないファイルが有る
$ stashされているファイルがある
> orignに未pushのcommitがある
< orignから未pullのcommitがある
= orignとのpush/pullは不要で、最新の状態になっている
どの記号を出すかは.bash_profileの下記の変数で制御できます。
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUPSTREAM=auto
また、bashではプロンプトの書式をPS1という環境変数で指定できます。
これを変更したい場合は、.bash_profileに追記した下記の行を変更すれば良いです。
export PS1='\h:\W \u$(__git_ps1)\$ '
こちらもおススメ