
Branch-Schutz ist ein wichtiger Teil, um sicherzustellen, dass in Ihrem GitHub-Repository keine Unfälle und Fehler passieren. Sie erzwingen Regeln, die jeder befolgen muss, der Commits pushen oder Pull-Requests in Ihrem Repository zusammenführen möchte.
Warum ist Zweigschutz notwendig?
< Beim Branch-Schutz geht es darum, unerwünschte Aktionen zu verhindern. Sie können Regeln festlegen, um Pull-Request-Überprüfungen zu erfordern, Tests vor dem Zusammenführen abzuschließen oder signierte Commits zur Überprüfung der Authentizität zu verlangen.
Standardmäßig deaktiviert der Branch-Schutz Force Pushs und verhindert, dass Branches gelöscht werden. Das sind zwei Dinge, die Sie grundsätzlich nie regelmäßig passieren lassen wollen, und auch nie ohne die ausdrückliche Zustimmung von jemandem, der eine Ausnahme machen und den Zweigschutz deaktivieren kann.
Dies ist gut für die Sicherheit, insbesondere bei größeren Projekten oder Open-Source-Repositories, bei denen Betreuer einen bestimmten Einreichungs- und Genehmigungsprozess für neue Änderungen durchsetzen möchten. Zweige können auch vollständig für Nicht-Administratoren gesperrt werden, was dazu verwendet werden kann, zusätzliche Autorisierung auf Release-/Produktionszweige anzuwenden.
Der Zweigschutz gilt standardmäßig nicht für Administratoren. Sie können Personen auch eine spezifische Erlaubnis erteilen, die es ihnen ermöglicht, die Funktion zu umgehen. Wenn Sie nicht möchten, dass Administratoren oder andere Personen bestimmte Regeln umgehen können, können Sie dies für jede Regel deaktivieren.
Der Zweigschutz ist für öffentliche Repositorys kostenlos verfügbar, für private jedoch nicht Repositorys ohne GitHub Team oder Enterprise.
Was bewirken die Branch-Schutzregeln von GitHub?
Es gibt eine ganze Reihe von Einstellungen, die Sie für den Branch-Schutz aktivieren können, und alle bewirken unterschiedliche Dinge. Hier sind einige der nützlichsten:
- “Pull-Request-Überprüfungen vor dem Zusammenführen erforderlich machen” lässt nicht zu, dass PRs in geschützten Zweigen zusammengeführt werden, bis eine oder mehrere berechtigte Personen den Antrag genehmigt haben. Dies ist besonders nützlich, um zu verhindern, dass eine einzelne Person eine PR alleine zusammenführt.
- „Konversationsauflösung erforderlich“; stellt sicher, dass nur geschlossene und abgeschlossene PRs zusammengeführt werden dürfen.
- “Statusprüfungen vor der Zusammenführung erforderlich” wird in Ihre CI-Pipeline integriert, um Tests für neue Commits durchzuführen, um sicherzustellen, dass sie nichts kaputt machen. GitHub verfügt sogar über eine Commit-Status-API, die Sie für die externe Integration verwenden können.
- “Für den Erfolg sind Bereitstellungen erforderlich” wird normalerweise verwendet, um sicherzustellen, dass Builds ordnungsgemäß in Staging-Umgebungen bereitgestellt werden, bevor sie zusammengeführt werden.
- “Linearer Verlauf erforderlich” verhindert, dass Zusammenführungs-Commits an den Zweig gepusht werden, was erfordert, dass Zusammenführungen Squash- oder Rebase-Zusammenführungen sind. Viele Teams bevorzugen den linearen Commit-Verlauf, da er das Aufspüren und Zurücksetzen von Versionen erheblich erleichtert.
- “Signierte Commits erfordern” erzwingt die GPG-Signatur von Commits und stellt sicher, dass sie mit dem privaten Schlüssel des Benutzers erstellt und nicht von einem Angreifer mit GitHub-Zugriff verfasst wurden.
Darüber hinaus können Sie Berechtigungen auch direkt verwalten, um zu entscheiden, wer in die Filiale pushen darf. Beispielsweise ist es für Release-Branches typisch, dass sie zusätzliche Einschränkungen haben, damit ein zufälliger Praktikant nicht versehentlich in die Produktion wechseln kann.
Sie können Branches auch vollständig sperren, wie im Fall von Upstream-Zweige, die sich nicht ändern sollten.
Darüber hinaus haben Administratoren zwar standardmäßig die Möglichkeit, diese Regeln zu umgehen, Sie können dies aber auch deaktivieren, um sicherzustellen, dass niemand in Ihrem Repository gegen die Regeln verstoßen kann, ohne dass die Regeln deaktiviert werden.
So richten Sie GitHub Branch-Schutzregeln ein
Branch-Schutzregeln werden in den Repository-Einstellungen festgelegt. Klicken Sie auf die Schaltfläche „Einstellungen“ für Ihr Repository und dann auf „Zweigschutz“.
Sie müssen einen Filter für die Zweigschutzregel festlegen. Sie können ihn einfach auf den Namen eines bestimmten Zweigs festlegen, beispielsweise „main“, oder Sie können Platzhalter verwenden, um mehrere Zweige gleichzeitig anzusprechen.

Ein unbegrenzter Platzhalter “*” gilt für alle Zweige und mehrere Zweigschutzregeln können übereinander gestapelt werden. Sie können jedoch nicht zwei Regeln mit demselben Filter haben.
Als Nächstes haben Sie die Möglichkeit, jede Zweigschutzeinstellung zu konfigurieren. Standardmäßig sind nur erzwungene Push- und Löschvorgänge deaktiviert, Sie können jedoch jedes der Kontrollkästchen hier aktivieren, um andere gewünschte Dinge zu aktivieren.

Eine Sache, die Sie die meiste Zeit aktiviert haben möchten, ist die Regel, die verhindert, dass Administratoren die Regeln umgehen.
Anschließend können Sie die Regel aktivieren, müssen sich jedoch erneut bei der mobilen GitHub-App authentifizieren, da das Ändern der Branch-Schutzregeln eine eingeschränkte Aktion ist. Sie können testen, ob es aktiviert ist, indem Sie versuchen, Push zu erzwingen. Ihr Git-Client sollte einen Fehler anzeigen.
WEITER LESEN
- › Mechanische Tastatur von Corsair zum Allzeittiefstpreis und weiteren Angeboten
- › So erstellen Sie GIFs auf dem iPhone
- › So skalieren Sie jedes Bild mithilfe einer KI mit stabiler Diffusion hoch
- › Dieser neue ASUS Tiny PC ist überraschend leistungsstark
- › So sehen Sie UFC 290 Volkanovski vs. Rodrigueza live online
- › Welches Apple-Logo war das Beste? Ein Blick zurück