Skip to main content

Informationen zu Branches

Verwende einen Branch, um die Entwicklungsarbeit ohne Auswirkungen auf andere Branches im Repository zu isolieren. Jedes Repository hat einen Standardbranch und kann mehrere weitere Branches haben. Du kannst einen Branch mit einem anderen Branch über einen Pull Request zusammenführen.

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 findest du 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 findest du 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 findest du unter Zugriffsberechtigungen auf GitHub.

Informationen zum Standardbranch

Wenn du ein Repository mit Inhalten auf GitHub.com erstellst, erstellt GitHub 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 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 findest du 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 findest du 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.

Die Abbildung zeigt einen Branch „feature1“ mit einem Pull Request, der auf „main“ abzielt, und einen Branch „feature2“ mit einem Pull Request, der auf „feature1“ abzielt.

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.

Eine Abbildung, die die beiden Branches „feature1“ und „feature2“ mit Pull Requests für „main“ zeigt.

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.

Hinweis: Wenn du Repositoryadministrator*in 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 „Administratoren einbeziehen“ festgelegt.

Navigiere zum Mergefeld unten auf der Registerkarte Konversation des Pull Requests, um herauszufinden, ob dein Pull Request gemergt werden kann. 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 findest du 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 findest du 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 findest du 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 unter 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 findest du unter Mergekonflikt auf GitHub beheben.

Weiterführende Themen