経緯とか
cloud9 を使ってRails チュートリアルやった後にローカルでもやっていたところ、gitコマンドの補完が効かないことに気がつく。
こんなの (途中まで入力してTabキーで補完)
調べてみたら、Git-Completionを有効にしないとダメみたいだったのでやることに。
しかし、予想より手こずってしまったので手順をメモ。
環境
- PC : MacBook Pro
- OS : OS X EI Capitan ver. 10.11.6
- Git : version 2.10.1 (Apple Git-78)
作業中は気が付かなかったが、Gitはデフォルでインストールされていたものを利用していた。
Git-Completion って何?
gitのタブ補完ツール。特にブランチ名補完が便利。 ブランチ名が長くなりがちなGithub Flow での開発では無いとかなり不便。
gitがインストール済みなら既にbashスクリプトとして何処かにあるはず。 それを.bashrc とかから読み込むように設定するだけ。
手順
0.bash-completion をHomeBrew 経由でインストールする
Git Completion のbash を直接読み込んでもよいが、これを利用する方がよりスマート。
$ brew list
で表示された一覧の中にbash-completion があれば、このステップは不要。
bash-completion がなかった場合は、
$ brew install bash-completion
でインストールする。
その後、~/.bash_profile に以下を追記する。
# bash completion if [ -f $(brew --prefix)/etc/bash_completion ]; then . $(brew --prefix)/etc/bash_completion fi
1.Git Completion の有効化
まず、git-comletion.bash というファイルを探す。 このファイルは、インストール方法によって保存されている場所が違うので検索を推奨。
$ mdfind -name git-completion.bash
git-completion.bash のフルパスが出力されるのでそれをコピー。
以下のコマンドを使って、bash-completionのフォルダにgit という名前でコピーする。
$ cp [git-completion.bashのフルパス] /usr/local/etc/bash_completion.d/git
ターミナルを再起動して、試しにgit bra まで入力してTabキーを押してみて補完されれば成功です。