git のエイリアスとして peco で branch 一覧を表示し checkout できるようにする

ターミナルから tig refs と打つと refs の一覧画面が表示されます。 さらに、refs の中から checkout したいものを選択し、 Shift + c を打つと、選択したものにチェックアウトすることができます。

大変便利な機能ですが、ローカルブランチだけでなくリモートブランチやタグも表示されてしまいますので、 ローカルブランチだけを見たい場合には表示される量が多すぎますし、 また、チェックアウト時には本当にチェックアウトをするか否かの確認の [Yy/Nn] を打たなければならず、確認を飛ばしたくなる場合もあるかと思います。

そこで、gitエイリアスとして、tig に倣い git refs を用意しました。 .gitconfig

[alias]
  refs = !git checkout $(git branch | peco | awk '{ print $NF }')

上記のように定義し、peco を通して快適にブランチの切り替えができるようになりました。

ググってみると同様のことは .zshrc に定義されている方が多かったのですが、 自分は tigrefs を真似たくて gitエイリアスとして定義した次第です。