GitHub公式からghというCLIツールがbetaリリースされています。まだbeta版ですが、非常にシンプルで使いやすいCLIツールです。 この記事では、その ghとpeco を利用して、高速にPull Requestに対応するブランチにチェックアウトする方法を説明します。
コードレビューをお願いされて「checkoutして挙動を確認したいな」という時に、ブラウザでGitHubを開いてブランチ名をコピーする必要がなくなるので非常に便利です。
様子
手順
macOS 10.15.4での手順になります。まず、pecoとghが入っていない場合は準備します。
$ brew install peco $ brew install gh
次にこちらを .zshrc
に追記します。
function peco-checkout-pull-request () { local selected_pr_id=$(gh pr list | peco | awk '{ print $1 }') if [ -n "$selected_pr_id" ]; then BUFFER="gh pr checkout ${selected_pr_id}" zle accept-line fi zle clear-screen } zle -N peco-checkout-pull-request
そして $ source .zshrc
をするなどして .zshrc
の変更を読み込んだあとで
$ peco-checkout-pull-request
とすると、pecoでP-Rを選択してCheckoutできます。このままだと毎回コマンドを打つ必要があって不便なので .zshrc
に
bindkey "^g^p" peco-checkout-pull-request
と書いておくと Ctrl+g
, Ctrl+p
と入力することでP-Rを選択してCheckoutできます。
まとめ
gh
には他にも便利な機能があるので、「pecoでPull Requestを選択してブラウザで開く」といった機能も作れそうですね。