業務でGitHubリポジトリを新たに開設し、そのリポジトリに対し「ブランチ保護ルール」の設定を行いました。
「ブランチ保護ルール」にはいろいろな設定がありまた汎用性も高いです。
初めての設定だったこともあり、GitHubの設定画面をガチャガチャやりながらなんとか設定作業を行いました。
その中で、特につまづいたのが「ブランチ名パターン制限」でした。
同じく躓いている方のために「特定のブランチ名のみ許可する」設定方法について説明します。
前提
「ブランチ保護ルール」の設定は、リポジトリの管理者権限を持っていないとできないので、ご自身がリポジトリ管理者であることを確認しましょう。
また、今回設定する「ブランチ名パターン制限」は、GitHubのEnterpriseプランでしか有効にすることができないので注意してください。
やりたいこと
やりたいこととしては下記のブランチ名のみ作成できるようにすることです。
- main
- development
- staging
- feature/123
- bugfix/123
※「123」の部分はIssue番号のみをつけるイメージとなります。
「ブランチ名パターン制限」設定方法
まずは「ブランチ保護ルール」を適用するリポジトリにアクセスし、そのリポジトリの「Setting」メニューをクリックします。
左のメニューから「Branches」をクリックし「Add branch ruleset」ボタンをクリックします。
次に「Target branches」を設定します。
「Add target」プルダウンをクリックし「include all branches」を選択しましょう。
続いて、下の方にある「Restrictions」欄の「Restrict Branch names」のチェックをONにし、「Add restriction」ボタンをクリックします。
「Add a metadata restriction」モーダルが表示されるので、下記をそれぞれ設定すれば完了です。
- Applies to:
Branch name
- Requirement:
Must match a given regex pattern
- Matching pattern:
^(main|development|staging|feature/[0-9]+|bugfix/[0-9]+)$
最後に
今思うと簡単だなーと感じるのですが、「ブランチ保護ルール」の設定が初めてということもあり、各設定項目の考え方を理解するのに少し時間がかかってしまいました。。
同じく困っている方のお役に立てれば光栄です。
以上です。