GitHubブランチ保護ルールのブランチ名パターンマッチ指定が便利
GitHubブランチ保護ルールの簡単でちょっとしたTipsです
GitHubの Settings > Code and automation > Branches > Branch protection rules から Add rule
を押すことでブランチに対するルールを作成することができます。
- マージには1つのApproveが必須になる
- コードを変更するコミットがブランチにプッシュされたときにプルリクエストの承認レビューを却下する
など、ソースコード管理で便利なブランチへのルールが存在しており、適用するブランチを選ぶことができます。
Branch name patternの欄にルールを追加したいブランチ名・パターンを入力できます。
リポジトリ内のブランチ保護ルールは、特定のブランチ、あるいはすべてのブランチやfnmatch構文で指定した名前のパターンにマッチするブランチに対して作成できます。 たとえば、releaseという語を含む任意のブランチを保護するには、ブランチルールをreleaseに対して作成できます。
とDocsにあるように、release202204
のような特定のブランチ名の指定ができます。
また、release*
のようにワイルドカードを用いたパターンマッチを入力すると、release
始まりのブランチ全てに対して保護ルールを設定することができます。
- 定期的に作成する
- (1人以上の承認を必要としたい。のような理由で保護したい
上記のようなブランチはreleaseなどブランチ名の決まったパターンが存在していることが多いと思います。このようなブランチに対しては毎回ルールを追加するのではなく、パターンマッチを活用して保護ルールを自動適用させるように設定しておくと良さそうです!
PS. 怠惰から生まれるソフトウェア・エンジニアリング
当初、複数個存在していたreleaseブランチに対してそのブランチ名で1つ1つルールを作成していました。
結果、、
- release202204
- release202205
- release202206
- release202207
のようにリリースブランチが存在している数ぶん、ルールも作成する形になり、
めんどくせぇ....
と思いました。
その時、
Branch name pattern
pattern
ってラベルに書いてあるな、、パターンマッチ使えそう、、? → release*
→ 効いた!!!!!!
との経緯でパターンマッチが使えることに気づきました(遅い)
ソフトウェア・エンジニアリングは「怠惰(めんどくせぇ...)」から派生していくものだなぁ。。。と改めて思いました。
Discussion