Informationen zu Branches
Branches ermöglichen dir das Entwickeln von Features, Beheben von Fehlern und sichere Experimentieren mit neuen Ideen in einem Bereich deines Repositorys.
Du erstellst einen Branch immer aus einem existierenden Branch. Normalerweise würdest du einen neuen Branch aus dem Standardbranch deines Repositorys erstellen. Da kannst dann in diesem Branch unabhängig von Änderungen arbeiten, die andere Personen im Repository machen. Ein Branch, den Du zur Erstellung einer Funktion aufbaust, wird häufig als Funktions-Branch oder Themen-Branch bezeichnet. Weitere Informationen finden Sie unter Erstellen und Löschen von Branches in deinem Repository.
Du kannst einen Branch auch verwenden, um eine GitHub Pages-Website zu veröffentlichen. Weitere Informationen finden Sie unter Informationen zu GitHub Pages.
Du benötigst Schreibzugriff auf ein Repository, um einen Branch zu erstellen, einen Pull Request zu öffnen oder Branches in einem Pull Request zu löschen und wiederherzustellen. Weitere Informationen finden Sie unter Zugriffsberechtigungen auf GitHub.
Informationen zum Standardbranch
Wenn Sie ein Repository mit Inhalten auf GitHub erstellen, erstellt GitHub Enterprise Cloud das Repository mit einem einzelnen Branch. Dieser erste Branch im Repository ist der Standardbranch. Der Standardbranch ist der Branch, den GitHub anzeigt, wenn eine Person dein Repository aufruft. Der Standardbranch ist auch der erste Branch, den Git lokal auscheckt, wenn eine jemand dein Repository klont. Sofern du keinen anderen Branch angibst, ist der Standardbranch in einem Repository der Basisbranch für neue Pull Requests und Codecommits.
Der Standardbranch wird von GitHub Enterprise Cloud in jedem neuen Repository standardmäßig main
genannt.
Du kannst den Standardbranch für ein vorhandenes Repository ändern. Weitere Informationen findest du unter Ändern des Standardbranchs.
Du kannst den Namen des Standardbranchs für neue Repositorys festlegen. Weitere Informationen findest du unter Verwalten des Standardbranchnamens für deine Repositorys, Verwalten des Standardbranchnamens für Repositorys in deiner Organisation und Erzwingen von Repositoryverwaltungsrichtlinien in einem Unternehmen.
Mit Branches arbeiten
Wenn du mit deiner Arbeit zufrieden bist, kannst du einen Pull Request öffnen, um die Änderungen im aktuellen Branch (Headbranch) in einen anderen Branch (Basisbranch) zu mergen. Weitere Informationen finden Sie unter Informationen zu Pull Requests.
Nachdem ein Pull Request zusammengeführt oder geschlossen wurde, kannst Du den Head-Branch löschen, da dieser nicht mehr länger benötigt wird. Du benötigst Schreibzugriff auf dem Repository, um Branches zu löschen. Du kannst keine Branches löschen, die direkt mit einem offenen Pull Request verbunden sind. Weitere Informationen finden Sie unter Branches in einem Pull Request löschen und wiederherstellen.
Wenn du einen Haupt-Branch löschst, nachdem sein Pull Request zusammengeführt wurde, wird GitHub auf offene Pull Requests für das gleiche Repository prüfen, die den gelöschten Branch als ihren Basis-Branch angeben. GitHub aktualisiert solche Pull Requests automatisch, indem es deren Basis-Branch auf den Basis-Branch des zusammengeführten Pull Requests ändert. Die folgenden Diagramme veranschaulichen diesen Vorgang.
In diesem Fall hat jemand einen Branch namens feature1
aus dem main
-Branch erstellt, und du hast dann einen Branch namens feature2
aus feature1
erstellt. Es gibt für beide Branches offene Pull Requests. Der Pfeil zeigt den aktuellen Basis-Branch für jeden Pull Request an. Zu diesem Zeitpunkt ist feature1
der Basisbranch für feature2
. Wenn der Pull Request für feature2
jetzt gemergt wird, wird der feature2
-Branch in feature1
gemergt.
Im nächsten Diagramm hat jemand den Pull Request für feature1
in den main
-Branch gemergt und den feature1
-Branch gelöscht. Daher hat GitHub den Pull Request für feature2
automatisch umgeleitet, sodass dessen Basisbranch nun main
ist.
Wenn du nun den Pull Request feature2
mergst, wird er in den main
-Branch gemergt.
Mit geschützten Branches arbeiten
Repositoryadministrator*innen oder benutzerdefinierte Rollen mit der Berechtigung „Repositoryregeln bearbeiten“ können Schutzmaßnahmen für einen Branch aktivieren. Wenn Du auf einem geschützten Branch arbeitest, kannst Du den Push an den Branch nicht löschen oder erzwingen. Repository-Administratoren können zusätzlich mehrere andere Einstellungen für geschützte Branches aktivieren, um verschiedene Workflows zu erzwingen, bevor ein Branch zusammengeführt werden kann.
Note
Wenn du Repositoryadministrator bist, kannst du Pull Requests in Branches mit aktivierten Branchschutzmechanismen mergen, auch wenn der Pull Request die Anforderungen nicht erfüllt, es sei denn, die Branchschutzmechanismen wurden auf „Include administrators“ festgelegt.
Um zu ermitteln, ob dein Pull Request gemergt werden kann, wirf einen Blick in das Merge-Fenster am unteren Rand der Registerkarte Conversation des Pull Requests. Weitere Informationen findest du unter Informationen zu geschützten Branches.
Wenn ein Branch geschützt ist, trifft Folgendes zu:
- Du kannst einen Push an den Branch nicht löschen oder erzwingen.
- Wenn die erforderlichen Statuschecks für den Branch aktiviert sind, kannst Du Änderungen erst dann in den Branch zusammenführen, wenn alle erforderlichen CI-Tests bestanden sind. Weitere Informationen finden Sie unter Informationen zu Statuschecks.
- Wenn erforderliche Pull-Request-Reviews auf dem Branch aktiviert sind, kannst Du Änderungen erst dann in den Branch zusammenführen, wenn alle Anforderungen der Richtlinie für Pull-Request-Reviews erfüllt sind. Weitere Informationen finden Sie unter Einen Pull Request zusammenführen.
- Wenn der erforderliche Review von einem Codeinhaber auf einem Branch aktiviert ist und der Code mit einem Inhaber durch einen Pull Request geändert wird, muss ein Codeinhaber den Pull Request genehmigen, bevor er zusammengeführt werden kann. Weitere Informationen finden Sie unter Informationen zu Codeinhabern.
- Wenn die obligatorische Commit-Signatur auf einem Branch aktiviert ist, kannst Du keine Commits an den Branch übertragen, die nicht signiert und verifiziert sind. Weitere Informationen findest du unter Informationen zur Verifizierung einer Commit-Signatur und Informationen zu geschützten Branches.
- Wenn du den Konflikt-Editor von GitHub benutzt, um Konflikte für einen Pull Request zu beheben, den du aus einem geschützten Branch erstellt hast, hilft dir GitHub dabei, einen alternativen Branch für den Pull Request zu erstellen, sodass deine Auflösung der Konflikte gemergt werden kann. Weitere Informationen finden Sie unter Mergekonflikt auf GitHub beheben.
Weiterführende Themen
- Informationen zu Pull Requests
- GitHub-Glossar im GitHub-Glossar
- Branches in a Nutshell in der Git-Dokumentation