Skip to main content

Informationen zu Regelsätzen

Mit Regelsätzen kannst du steuern, wie Benutzer*innen mit Branches und Tags in einem Repository interagieren können.

Wer kann dieses Feature verwenden?

Alle Personen mit Lesezugriff auf ein Repository können die Regelsätze des Repositorys anzeigen. Personen mit Administratorzugriff auf ein Repository oder mit einer benutzerdefinierten Rolle mit der Berechtigung „Repositoryregeln bearbeiten“, können Regelsätze für ein Repository erstellen, bearbeiten und löschen.

Regelsätze sind verfügbar in öffentlichen Repositorys mit GitHub Free und GitHub Free für Organisationen, und in öffentlichen und privaten Repositorys mit GitHub Pro, GitHub Team und GitHub Enterprise Cloud. Weitere Informationen findest du unter GitHub-Pläne.

Informationen zu Regelsätzen

Ein Regelsatz ist eine benannte Liste von Regeln, die für ein Repository gilt. Du kannst Regelsätze erstellen, um zu steuern, wie Benutzerinnen mit ausgewählten Branches und Tags in einem Repository interagieren können. Du kannst z. B. steuern, wer Commits an einen bestimmten Branch pushen kann oder wer ein Tag löschen oder umbenennen kann. Beispielsweise kannst du einen Regelsatz für den Branch feature deines Repositorys einrichten, der signierte Commits erfordert und erzwungene Pushs für alle Benutzer außer Repositoryadministratorinnen blockiert.

Für jeden von dir erstellten Regelsatz gibst du an, für welche Branches oder Tags in deinem Repository der Regelsatz gilt. Du kannst fnmatch-Syntax verwenden, um ein Muster für bestimmte Branches und Tags zu definieren. Du kannst z. B. das Muster releases/**/* verwenden, um alle Branches in deinem Repository als Ziel zu verwenden, deren Name mit der Zeichenfolge releases/ beginnt. Weitere Informationen zur fnmatch-Syntax findest du unter Creating rulesets for a repository.

Wenn du einen Regelsatz erstellst, kannst du bestimmten Benutzerinnen erlauben, die Regeln darin zu umgehen. Dabei kann es sich um Benutzerinnen mit einer bestimmten Rolle, z. B. Repositoryadministrator, oder um bestimmte Teams oder GitHub Apps handeln.

Informationen zu Regelsätzen, geschützten Branches und geschützten Tags

Regelsätze funktionieren zusammen mit allen Branchschutzregeln und Tagschutzregeln in einem Repository. Viele der Regeln, die du in Regelsätzen definieren kannst, ähneln Schutzregeln, und du kannst mit der Verwendung von Regelsätzen beginnen, ohne deine vorhandenen Schutzregeln zu überschreiben.

Regelsätze haben gegenüber Branch- und Tagschutzregeln die folgenden Vorteile.

  • Im Gegensatz zu Schutzregeln können mehrere Regelsätze gleichzeitig angewendet werden, sodass du sicher sein kannst, dass jede Regel, die auf einen Branch oder ein Tag in deinem Repository abzielt, ausgewertet wird, wenn jemand mit diesem Branch oder Tag interagiert. Weitere Informationen findest du unter Informationen zur Regelschichtung.
  • Regelsätze weisen Status auf, sodass du einfach verwalten kannst, welche Regelsätze in einem Repository aktiv sind, ohne dass Regelsätze gelöscht werden müssen.
  • Alle Personen mit Lesezugriff auf ein Repository können die aktiven Regelsätze für das Repository anzeigen. Dies bedeutet, dass Entwicklerinnen verstehen können, warum sie eine Regel getroffen haben, oder Auditorinnen können die Sicherheitseinschränkungen für das Repository überprüfen, ohne dass sie Administratorzugriff auf das Repository benötigen.

Darüber hinaus kannst du für Organisationen mit einem GitHub Enterprise-Plan die folgenden Schritte mit Regelsätzen ausführen.

  • Richte schnell Regelsätze auf Organisationsebene ein, um mehrere Repositorys in deiner Organisation als Ziel zu verwenden. Weitere Informationen findest du unter Verwalten von Regelsätzen für Repositorys in deiner Organisation in der GitHub Enterprise Cloud-Dokumentation.
  • Erstelle zusätzliche Regeln, um die Metadaten von Commits zu steuern, die in einem Repository eingehen, z. B. die Commitnachricht und die E-Mail-Adresse des Autors. Weitere Informationen findest du unter Verfügbare Regeln für Regelsätze in der GitHub Enterprise Cloud-Dokumentation.
  • Verwende einen „Bewerten“-Status, um einen Regelsatz zu testen, bevor er aktiviert wird, und verwende eine Seite für Erkenntnisse, um anzuzeigen, welche Benutzeraktionen von Regeln betroffen sind. Weitere Informationen findest du unter Verwalten von Regelsätzen für ein Repository in der GitHub Enterprise Cloud-Dokumentation.

Informationen zur Regelschichtung

Ein Regelsatz hat keine Priorität. Wenn mehrere Regelsätze auf denselben Branch oder dasselbe Tag in einem Repository abzielen, werden die Regeln stattdessen in jedem dieser Regelsätze aggregiert. Wenn dieselbe Regel in den aggregierten Regelsätzen auf unterschiedliche Weise definiert ist, gilt die restriktivste Version der Regel. Neben der Schichtung untereinander können Regelsätze auch mit Schutzregeln geschichtet werden, die auf denselben Branch oder dasselbe Tag ausgerichtet sind.

Betrachte beispielsweise die folgende Situation für den my-feature-Branch des octo-org/octo-repo-Repositorys.

  • Eine Administratorin des Repositorys hat einen Regelsatz für den my-feature-Branch eingerichtet. Dieser Regelsatz erfordert signierte Commits und drei Reviews für Pull Requests, bevor sie gemergt werden können.
  • Eine vorhandene Branchschutzregel für den my-feature-Branch erfordert einen linearen Commitverlauf und zwei Reviews für Pull Requests, bevor sie gemergt werden können.

Die Regeln aus jeder Quelle werden aggregiert, und alle Regeln gelten. Wenn mehrere verschiedene Versionen derselben Regel vorhanden sind, gilt die restriktivste Version der Regel. Daher erfordert der my-feature-Branch signierte Commits und einen linearen Commitverlauf, und Pull Requests für den Branch erfordern drei Reviews, bevor sie gemergt werden können.