pecoでらくらくgit checkout
まえがき
gitでブランチ切り替えをするとき、いちいちブランチ名を入力しないといけないのが手間だな〜と日頃から思っていたのですが、pecoでブランチ名を選択するようにできるらしいので、やってみます。
環境
- OS: macOS Mojave
- OS version: 10.14.6
- docker version: 19.03.1
pecoとは
pecoは、コマンドの実行結果を変数に入れて別のコマンドを実行するときに選択肢として表示できるようにするツールです(正確な説明ではないかもしれないです)。
ssh先を手元で管理するときとかによく使われている印象です。
pecoインストール
% brew install peco % peco --version peco version v0.5.3 (built with go1.10.3)
最新版がインストールされたみたいです。
pecoを使っていく
pecoの基本的な使い方は、「選択肢として表示させたいコマンドをパイプで渡す」です。
今回はgitのブランチのリストを選択肢として表示させたいので、
% git branch -a | peco
となります。
実行すると、こんな感じでブランチが表示され、カーソルキー上下で選ぶことができます。
(*がついているブランチがカレントブランチです)
QUERY> IgnoreCase [4 (1/1)] develop * master remotes/origin/HEAD -> origin/master remotes/origin/master
git checkoutするには下記のように実行します。
% git checkout $(git branch -a | peco)
より便利に使うために、pecoまで含んだワンライナーをalias化してbashrcやzshrcに追記します。
今回はgc
でブランチを選択肢として表示させてcheckoutできるようにします。
alias gc='git checkout $(git branch -a | peco)'
source
で読み込んで、gc
でブランチ切り替えができれば成功です。
まとめ
いつもブランチ名を都度確認して、チェックアウトして…とやっていたので、これでだいぶ手間が減りそうです。
ただ、ブランチがあまりにも多いと探すのも時間がかかりそうですね…
表示させてさらに検索とか絞り込みができればもっと便利に使えそうです。