5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラクスAdvent Calendar 2024

Day 14

GitHubでブランチの命名規則を制限する方法

Last updated at Posted at 2024-12-18

GitHubでチーム開発をしていると、ブランチ名がバラバラで管理が大変になることがありますよね?そんなときに役立つのが、ブランチの命名規則を制限する機能です!今回は、この設定方法やメリットについて、具体例を交えながら紹介します。

ブランチ命名規則を制限するには?

GitHubでは、リポジトリの「ブランチルールセット」を設定することで、特定のパターンに従わないブランチ名の作成を防ぐことができます。

以下の手順で設定を行います:

リポジトリの Settings > Branches を選択し、Add branch protection rule から以下のように設定します。

スクリーンショット 2024-12-18 23.54.24.png

Branch targeting criteriaには「作成させたくないブランチ名を対象」に指定する必要があるので、上記画像のように「全部のブランチが対象!でもdevelop-*とかfeature/**/*みたいにいつも作ってるブランチ名は制限しないでね!」とする必要があります。

また画像の最後にある「Restrict creations(作成を制限する)」にチェックを入れる事も忘れないでくださいね!

これにより、指定されたルールに違反する名前のブランチは作成できなくなります。

パターン設定の具体例

Exclude patternBranch name patternでは、以下のようにワイルドカード(***)を使うことができます。

例1: develop-*をExclude patternに設定した場合

develop-から始まるブランチ名が作成可能ですが/を含める事は出来ません。

  • 作成可能なブランチ名
    • develop-test
    • develop-123
  • 作成不可なブランチ名
    • develop-test/hoge
    • test-develop-123

例2: feature/**/*をExclude patternに設定した場合

feature/から始まるブランチ名が作成可能です。/を含める事も可能です。

  • 作成可能なブランチ名
    • feature/new-feature
    • feature/subdir/task
  • 作成不可なブランチ名
    • test-feature/123
    • feature-123

ポイント

  • *: 任意の文字列(スラッシュを含まない)
  • **: 任意の文字列(スラッシュを含む)

例3: feature-*/**/*をExclude patternに設定した場合

feature-から始まり、最低1回は/を含めたブランチ名が作成可能です。

  • 作成可能なブランチ名
    • feature-123/test
    • feature-test/hoge/fuga
  • 作成不可なブランチ名
    • feature-123
    • test-feature-123/123

これでだいたいの設定ルールは網羅できたんじゃないでしょうか?

ブランチ名の制限を設けるメリット

では、なぜブランチ名に制限を設けるべきなのか?あくまで私基準で理由を書いておきます。

1. 開発フローの統一

バラバラなブランチ名だと、どのタスクがどのブランチに紐付いているか分からなくなります。命名規則を設定することで、統一感が生まれ、プロジェクト全体の見通しが良くなります。

2. Four Keysの指標を正確に取得

Four Keys(デプロイ頻度、リードタイム、変更失敗率、MTTR)を計測する際、規則的なブランチ名が重要です。これにより、CI/CDパイプラインや分析ツールで正確なデータが取れるようになります。

3. ミスを防ぐ

意図しないブランチ名の作成を防ぎ、誤ったブランチにコミットしてしまうリスクを低減します。

まとめ

GitHubのブランチ命名規則を制限することで、チーム開発の効率と品質を向上させることができます。正確な分析結果をもってKPTを回すためにも普段から観測できる状態にしている事はとても重要な事です。
実際の運用で試してみて、より良い開発環境を構築してみてください!

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?