gitのブランチにおけるタブ補完を有効にする方法

gitアイキャッチ プログラミング

どうも、エンジニアブロガーのウシジマです。git pushgit checkoutする際に 指定するブランチ名が、ターミナル上でタブ補完できたら便利ですよね。

ググってみるとその方法がありましたので、その方法を備忘録も兼ねて記事にします。

環境について

  • ターミナルエミュレータ: iTerm2
  • テキストエディタ: Vim

手順1. サイトから設定ファイルをダウンロード

ファイルの所在地)https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash

コマンド)curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash > .git-completion.bash

解説

curl(カール)コマンドは、引数にURLを渡すとデータのやり取りができるコマンドです。
ここでは、curl URL > .git-completion.bashとコマンドを叩くことで、URLからダウンロードしたファイルを>.git-completion.bashに書き出します。

もし、指定したファイル(今回の場合.git-completion.bash)がない場合は、ファイルを新規作成してくれます。

手順2. bash_pofileに以下を記述

source ~/.git-completion.bash

解説

Linuxコマンドであるsource。このコマンドの引数にファイル名を渡すことによって、ターミナルを閉じることなくファイルを読み込ませることができます

手順3. すぐに使いたいなら以下コマンドを手動で投入

source ~/.bash_profile

解説

Linuxコマンドであるsource。このコマンドの引数にファイル名を渡すことによって、ターミナルを閉じることなくファイルを読み込ませることができます。(よく使うコマンドですし、大事なことなので2回言いました笑)

番外編

エイリアスに設定しているコマンドを補完出来るようにするためには、以下のようにファイル(git-completion.bash)へ追記してください。

<”git checkout”を”gco”でエイリアスに設定している場合>

__git_complete gco _git_checkout

※”_git_checkout”の部分はファイル(git-completion.bash)の中にある関数化(かな?)されているメソッド名

最後に

今までブランチ名のタブ補完はcloud9でしか使えないと思っていましたが、今回の設定をすればターミナルでも使えるようになるとは驚きでした!

タブ補完ができれば、タイポ(タイピングミス)が減りますし、何より楽チン!

あなたも機会があれば設定して、その快適さを味わってみてくださいね。