Thanks Driven Life

日々是感謝

GitHub CLI 2.0 以降で gh pr checkout する時に使っているエイリアスやシェル関数

TL;DR

git alias 編

コード ( .gitconfig )

[alias]
  fpr = "!f(){ gh pr checkout $1 -b pr$1; }; f"

デモ

git alias で定義した gh pr checkout コマンドを実行している様子

shell function 編

コード

#!/bin/sh

gh_pr_checkout_peco() {
    (
        selected_number=$(gh pr list | peco | cut -f 1)
        if [ -n "${selected_number}" ] ; then
            gh pr checkout "${selected_number}" -b "pr${selected_number}"
        fi
    )
}

デモ

gh pr checkout と peco コマンドを組合せた様子

経緯

  • GitHub CLI 便利
    • gh pr checkout 便利
  • checkout (pull) したあとのブランチ名は Pull Request の番号を持たせたかった
    • (例) org/repo/pull/1234 だったら pr1234 っていうブランチ名にしたい
    • GitHub CLI 1.x まではコマンド1撃でできなかったけど、2.0 からは -b (--branch) が 搭載されて嬉しかった
  • せっかくなので peco と組み合わせようと思った
    • いろんな人が既にやってくれていたので、だいたいパクりました

おまけ

shell function のものは ShellCheck を pass しているので、gh や peco をインストール済みであれば、だいたいどこでも動くはず

参考