【Git】bashで補完機能を有効にする(bash-completion)


今回は、Gitをbashで利用する上で、設定しおくと便利な補完機能について解説したいと思います。
bash-completionとは
通常bashでは、TABキーを押すことで、ファイル名の補完が行えます。
bash-completionはこの機能を拡張し、例えば sshコマンド時のホスト名等を補完したりすることが出来ます。
bash-completionをインストールする
bash-completionは下記のURLからDLする事が可能です。
http://bash-completion.alioth.debian.org/
現在最新版は
bash-completion-1.2
bash-completionをダウンロードする
$ wget http://bash-completion.alioth.debian.org/files/bash-completion-1.2.tar.bz2
URLは適宜読み替えてください。
bash-completionをインストールする
$ tar xvjf bash-completion-1.2.tar.bz2 $ cd bash-completion-1.2 $ ./configure $ make # make install
Gitの補完機能を使ってみる
bash-completionのデフォルトではGitコマンドを補完するためのスクリプトが含まれていませんので、
別途追加する必要があります。
git-completionをインストールする
今回は、git.kernel.org のリポジトリから最新のgit-completionをダウンロードします。
http://git.kernel.org/?p=git/git.git;a=blob_plain;f=contrib/completion/git-completion.bash;hb=HEAD
git-completionをダウンロードする
$ wget 'http://git.kernel.org/?p=git/git.git;a=blob_plain;f=contrib/completion/git-completion.bash;hb=HEAD' -O git-completion.bash
git-completionをインストールする
# mv git-completion.bash /usr/local/etc/bash_completion.d/git
※環境によってインストール先が異なるかもしれません。
git-completionを設定する
# vi /etc/bashrc
ファイルの末尾に次を追加
# bash_completion BASH_COMPLETION=/usr/local/etc/bash_completion BASH_COMPLETION_DIR=/usr/local/etc/bash_completion.d BASH_COMPLETION_COMPAT_DIR=/usr/local/etc/bash_completion.d if [ -f /usr/local/etc/bash_completion ]; then . /usr/local/etc/bash_completion fi
/etc/bashrc の再読み込み
$ . /etc/bashrc
git-completionの確認
$ git [TAB]
TABキーを2回押すと、候補一覧が表示される。
この時、「add」や「commit」等、Gitに関するコマンドが候補として表示されればOKです。