どうも、エンジニアブロガーのウェブ系ウシジマくんです。git push
やgit 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でしか使えないと思っていましたが、今回の設定をすればターミナルでも使えるようになるとは驚きでした!
タブ補完ができれば、タイポ(タイピングミス)が減りますし、何より楽チン!
あなたも機会があれば設定して、その快適さを味わってみてくださいね。