GitHub CLI で Pull Request マージ後の自動ブランチ削除機能を有効化・無効化する方法
GitHub には Pull Request マージ後にブランチを自動的に削除できる機能があります。 GitHub CLI を使ってその機能を有効化・無効化する方法についてです。
この設定の切り替えはブラウザ UI でもできますが、対象のリポジトリが多いときなどはブラウザ UI でやるのは少し面倒なので、 GitHub CLI でできると便利です。
動作確認時のバージョン
gh --version
gh version 2.42.1 (2024-01-15)
https://github.com/cli/cli/releases/tag/v2.42.1
有効化する
gh repo edit
コマンドの --delete-branch-on-merge
オプションを利用します:
gh repo edit --delete-branch-on-merge --repo=[user/repo]
無効化する
同コマンドで --delete-branch-on-merge=false
と指定します:
gh repo edit --delete-branch-on-merge=false --repo=[user/repo]
たとえば複数リポジトリに対して一括で有効化したいときは次のようにするとよいです:
repos=("user1/repo1" "user2/repo2" "user3/repo3")
for repo in $repos; do
gh repo edit --delete-branch-on-merge "$repo"
done
ちなみに、 --delete-branch-on-merge
オプションを付けなければインタラクティブに設定を変更するモードになります。