Gitコマンドをタブキーで補完できるようにする

Pocket
17 interests

CLIで操作する際に、Gitコマンドをタブキーで補完できるようにする方法をメモしておきます。
Gitをインストールしただけでは、タブキーでコマンドを補完することはできませんが、実は設定ファイルはインストールの際に準備されており、それを使うことで簡単に有効化することができます。その設定ファイルというのが git-completion.bashです。環境によってパスは違いますが、例えば以下のような感じです。(Bash以外については調べきれていません)

  • CentOSにGitをyumでインストールした場合
    /usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash
  • MacにGitのサイトからdmgをダウンロードしインストールした場合
    /usr/local/git/contrib/completion/git-completion.bash

設定方法

CentOSにGitをyumでインストールしたときの例だと、 git-completion.bashのパスにバージョンが含まれているので、Gitのアップデートがあると無効になると思います。どこかにコピーするのも一つの手ですが、そうすると git-completion.bashを最新の状態に保つのが難しくなりそうですね。これについては実際にアップデートが行われたあとに見てみたいと思います。

設定方法(2012年9月5日追記)

Git Proの2.7 Git の基本 – ヒントと裏技を読んで、よりスマートな導入方法がわかりましたので、メモしておきます。上記で紹介した分か、どちらか一方を実行しましょう。
すべてのユーザーに対してGit用のBashシェル補完を使わせたい場合は、以下のパスに git-completion.bashをコピーします。

OS パス
CentOS等のLinux系OS /etc/bash_completion.d
Macでbash-completionをMacPortsでインストールしている /opt/local/etc/bash_completion.d
Macでbash-completionをHomebrewでインストールしている /usr/local/etc/bash_completion.d

bash-completionに関しては、以下の記事を参考にしてください。
Macにbash-completionをインストールし補完を活用する

Pocket
17 interests