gitでtab補完を有効にする

環境はMax OSX Lionです

ここから、git-completion.bashを入手します。

入手したgit-completion.bashを/usr/local/git/contrib/completionへ配置

$ sudo mkdir -p /usr/local/git/contrib/completion/
$ sudo mv git-completion.bash /usr/local/git/contrib/completion/

~/.profileに以下を追加します( ~/.bachrcに追加でもいいです)。 ついでに、ブランチ名も表示する設定を追加します。

source /usr/local/git/contrib/completion/git-completion.bash
GIT\_PS1\_SHOWDIRTYSTATE=true
PS1='\\\[\\033\[32m\\\]\\u@\\h\\\[\\033\[00m\\\]:\\\[\\033\[34m\\\]\\W\\\[\\033\[31m\\\]$(\_\_git\_ps1)\\\[\\033\[00m\\\]\\$ '

ターミナルのウィンドウを開きなおせば設定が反映されていると思います。

macbook@wadslab: project (master) $ git c (ここでtab2度押し)
checkout      cherry-pick   clean         commit
cherry        citool        clone         config
macbook@wadslab: project (master) $ git c

tabで候補コマンドが保管されました。ブランチ名もちゃんと表示されているようです。