DEV Community

Cover image for Restrict GitHub branches to specific prefixes
Jesse Houwing
Jesse Houwing

Posted on • Originally published at jessehouwing.net on

Restrict GitHub branches to specific prefixes

Many people follow some kind of naming format for their branches. Be it because they're using GitHub Flow or Git Flow or because they've created their own meaningful naming patterns.

With the new Rulesets you can enforce branches with specific patterns. It was a bit confusing to me at first, because I had to think in inverse to make this rule work.

The trick here is to create a rule that restricts the creation of any branch **, then selectively excludes prefixes from this restriction:

Include pattern:

  • **

Exclude pattern:

  • fix/**/*
  • release/**/*
  • main

Then turn on ✅ Restrict creations.

Restrict GitHub branches to specific prefixes

In case you need specific GitHub apps (such as Dependabot and Renovate or Azure Pipelines) to create arbitrary branch names, you can exclude them from the policy:

Restrict GitHub branches to specific prefixes

Cover photo by Marco Verch: Train Light Signal, used under Creative Commons

Top comments (0)