
Branch Protection
Branch Protection ist eine Schutzregel in Software-Projekten: Sie verhindert, dass jemand Änderungen direkt in die wichtigste Version des Programmcodes schreibt. Änderungen müssen stattdessen erst geprüft und getestet werden, bevor sie dort landen.
Software wird selten von einer Person allein geschrieben. Teams arbeiten gemeinsam an derselben Sammlung von Programmtext, und ein Werkzeug namens Git verwaltet dabei jede einzelne Änderung. In diesem Werkzeug gibt es Entwicklungslinien, sogenannte Branches: parallele Arbeitsversionen desselben Programms. Eine dieser Linien ist die offizielle, aus der am Ende das Produkt für die Kunden gebaut wird. Branch Protection ist ein Satz von Regeln, der genau diese offizielle Linie absichert. Sie legt fest, wer dort etwas ändern darf und welche Prüfungen vorher bestanden sein müssen.
Warum die Hauptlinie besonders geschützt wird
Die offizielle Entwicklungslinie heißt bei den meisten Projekten main oder master. Was dort steht, geht in aller Regel automatisch in den Betrieb: in die App, auf die Webseite, in das Produkt. Ein Fehler an dieser Stelle ist deshalb kein internes Problem, sondern sofort für alle Nutzer sichtbar. Bei einer Bank oder einem Zahlungsdienstleister kann eine kaputte Version Millionen kosten.
Ohne Schutzregeln reicht ein einziger unbedachter Befehl. Ein Entwickler kann Arbeit von Kollegen überschreiben oder die Historie der Änderungen löschen. Solche Unfälle sind selten, aber teuer, weil sie sich nur mühsam rückgängig machen lassen.
Dazu kommt ein Sicherheitsaspekt. Wenn Angreifer das Passwort eines Entwicklers stehlen, könnten sie ohne Schutzregeln Schadcode direkt in das Produkt einbauen. Genau so entstehen Angriffe auf die Lieferkette von Software. Branch Protection macht solche Alleingänge unmöglich, weil immer eine zweite Person zustimmen muss.
Welche Regeln typischerweise gesetzt werden
Der Kern jeder Branch Protection ist ein Verbot: Niemand schreibt direkt in die geschützte Linie. Wer etwas ändern will, legt zuerst eine eigene Nebenlinie an und arbeitet dort. Anschließend stellt er einen formellen Antrag, den Pull Request. Das ist die Bitte, die eigene Arbeit in die offizielle Version zu übernehmen.
An diesen Antrag hängen die weiteren Bedingungen. Üblich ist, dass mindestens ein Kollege den Code gelesen und freigegeben hat. Häufig verlangen Projekte zusätzlich, dass automatische Tests durchlaufen. Solche Tests sind kleine Programme, die prüfen, ob die Software noch das Richtige tut. Erst wenn alle Häkchen grün sind, lässt das System die Übernahme zu.
Ein Vergleich macht das anschaulich. Die geschützte Linie ist wie der Reinraum einer Chipfabrik: Man betritt ihn nicht in Straßenkleidung, sondern nur über eine Schleuse mit festen Kontrollen. Wichtig ist die Abgrenzung zur Zugriffsverwaltung. Wer überhaupt am Projekt mitarbeiten darf, regeln Berechtigungen. Branch Protection regelt, was selbst Berechtigte nicht ohne Kontrolle tun dürfen.
Branch Protection auf GitHub und GitLab
Praktisch begegnet man dem Begriff auf Plattformen wie GitHub, GitLab oder Bitbucket. Dort ist Branch Protection ein Menüpunkt in den Projekteinstellungen, keine Zusatzsoftware. Man setzt Häkchen und trägt Zahlen ein, etwa die Mindestzahl der nötigen Freigaben. GitHub nennt das inzwischen auch Rulesets, GitLab spricht von Protected Branches.
In der Diskussion um KI-Werkzeuge ist das Thema neu wichtig geworden. Programmierassistenten und autonome Software-Agenten erzeugen heute große Mengen Code und können selbst Pull Requests stellen. Die Schutzregeln sind dann die Stelle, an der ein Mensch noch einmal draufschaut. Bevor Vorschläge einer Maschine in ein Bankprodukt gelangen, muss sie jemand freigeben.
In Nachrichten tauchen Branch-Protection-Regeln außerdem bei Sicherheitsvorfällen und bei Prüfungen auf. Regulierte Firmen müssen Aufsichtsbehörden belegen, dass Änderungen an ihrer Software kontrolliert ablaufen. Ein Protokoll aus geschützten Branches ist dafür ein gängiger Nachweis. Ein typischer Irrtum ist übrigens, Branch Protection für eine Bremse zu halten. Gute Teams stellen die Regeln so ein, dass Routineänderungen in Minuten durchlaufen und nur Riskantes länger dauert.