Skip to main content

Enterprise Server 3.20 ist derzeit als Release Candidate verfügbar.

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. Dann kannst du an diesem neuen Zweig unabhängig von Änderungen arbeiten, die von anderen Personen im Repository vorgenommen werden. 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 Zweig auch verwenden, um eine GitHub Pages-Website zu veröffentlichen. Weitere Informationen finden Sie unter Was ist 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 für GitHub.

Informationen zum Standard-Branch

Wenn du ein Repository mit Inhalten auf GitHub 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 jemand das 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 in jedem neuen Repository standardmäßig main genannt.

Du kannst den Standardbranch für ein vorhandenes Repository ändern. Weitere Informationen finden Sie 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 Richtlinien zur Verwaltung von Repositories in Ihrem Unternehmen erzwingen.

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.

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 darstellt, die auf „main“ abzielen.

Wenn du nun den Pull Request feature2 zusammenführst, wird er in den main-Branch zusammengeführt.

Mit geschützten Branches arbeiten

Repository-Administratoren oder benutzerdefinierte Rollen mit der Berechtigung „Repository-Regeln bearbeiten“ können Schutz für einen Zweig 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 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, gelten bestimmte Regeln:

  • 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 in den Branch erst dann 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 die erforderliche Überprüfung durch einen Codeinhaber für einen Branch aktiviert ist und ein Pull Request Code ändert, der einen Inhaber hat, muss ein Codeinhaber den Pull Request freigeben, bevor er zusammengeführt werden kann. Weitere Informationen finden Sie unter Informationen zu Code-Eigentümern.
  • 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 Auflösen eines Zusammenführungskonflikts auf GitHub.

Weiterführende Lektüre

  •         [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
    
  •         [AUTOTITLE](/get-started/learning-about-github/github-glossary#branch) im GitHub-Glossar
    
  •         [Übersicht über Branches](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) in der Git-Dokumentation