GitHub CLI で Pull Request マージ後の自動ブランチ削除機能を有効化・無効化する方法

GitHub

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 オプションを付けなければインタラクティブに設定を変更するモードになります。

参考


アバター
後藤隼人 ( ごとうはやと )

Python や PHP を使ってソフトウェア開発やウェブ制作をしています。詳しくはこちら