📘
GitHubにPUSHできるブランチ名を制限する
GitHubにPUSHできるブランチ名を制限する
背景事情
個人的な理由で、4桁年のブランチ名を使用していて、メインブランチ名を本年の4桁年にしている。(2024 → 2025 → 2026)
4桁年以外のブランチ名はトピックブランチ名なので、間違ってトピックブランチ名をpublicなリモートブランチ(GitHub)にアップしたくない。
そこで、4桁年のブランチ名(2024, 2025, 2026)以外(develop, feature)をPUSHするとGitHub側でブロックするように設定する。
設定方法
- リポジトリ毎の設定になるので、該当のリポジトリに移動する
-
Settings
タブをクリック - 左ペインから、
Rules
→Rulesets
をクリック -
New ruleset
→New branch ruleset
をクリック -
Ruleset Name
に任意のルール名を入力する -
Enforcement status
をActive
にする -
Target branches
セクションでAdd target
→Exclude by patten
をクリックする -
Branch naming pattern
に[0-9][0-9][0-9][0-9]
とパターンを入力する(^[0-9]{4}$
のような正規表現は使えない) -
Add Exclusion poatten
ボタンを押して登録する -
Restrict creations
にチェックを入れて、他のチェックは外す(単機能にした方が細かな設定がしやすく、不具合が発生した際に悩まなくて済む) -
Create
ボタンを押してルールを作成する(Enterprise
の項目にRestrict branch names
という項目があるが、これが正に、この作業である) -
Ruleset created
と表示されていれば成功である
JSONでルールを持ち運べる
Export
...
→ Export ruleset
をクリック
Import
New ruleset
→ Import a ruleset
をクリック
Ruleset
Ruleset のJSONファイルを覗いてみると、pattern
が正規表現になっている。謎である。
Discussion