What is the GitHub 'repository ruleset' status and how does it differ from branch protection rules status?
Select an answer to reveal the explanation.
Short Explanation and Infographic
The 'Evaluate' status is what makes rulesets unique. You can deploy a new ruleset in audit mode — it tells you what would have been blocked without actually blocking anything. Test the impact of a new rule before it causes friction for your team.
Full explanation below image
Full Explanation
Repository rulesets have three enforcement statuses, which is a key differentiator from branch protection rules: (1) Active — the ruleset is fully enforced. Violations are blocked. (2) Evaluate — the ruleset is in audit/test mode. Rules are checked and violations are logged in the audit log, but pushes and merges are NOT blocked. Useful for assessing impact before enforcement. (3) Disabled — the ruleset exists but does nothing. Branch protection rules have a simple enabled/disabled state with no evaluation mode. The 'Evaluate' status is particularly valuable for organizations rolling out new policies — administrators can see which actions would have been blocked, adjust the ruleset accordingly, then switch to 'Active' when confident. This reduces the risk of policy changes causing unexpected friction.