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

categories Git, IT関連, Linux/Unix | Tags: , , | scot_exist | datetime 2011年1月7日 00:01 | コメントは受け付けていません。 | Save & Share

今回は、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です。


ページTOPへ