Informationen zu Branches
Branches allow you to develop features, fix bugs, or safely experiment with new ideas in a contained area of your repository.
Du erstellst einen Branch immer aus einem existierenden Branch. Typically, you might create a new branch from the default branch of your repository. 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 „Branches in Deinem Repository erstellen und löschen.“
Sie können einen Branch auch verwenden, um eine GitHub Pages-Website zu veröffentlichen. Weitere Informationen findest Du unter „Über 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“.
About the default branch
When you create a repository with content on your GitHub Enterprise Server instance, GitHub Enterprise Server creates the repository with a single branch. This first branch in the repository is the default branch. The default branch is the branch that GitHub displays when anyone visits your repository. The default branch is also the initial branch that Git checks out locally when someone clones the repository. Unless you specify a different branch, the default branch in a repository is the base branch for new pull requests and code commits.
By default, GitHub Enterprise Server names the default branch master
in any new repository.
You can set the name of the default branch for new repositories. For more information, see "Managing the default branch for your repositories," "Managing the default branch name for repositories in your organization," and "Enforcing repository management policies in your enterprise."
Mit Branches arbeiten
Sobald Du mit Deiner Arbeit zufrieden bist, kannst Du einen Pull Request eröffnen, um die Änderungen im aktuellen Branch (dem Head-Branch) in einem anderen Branch (den Basis-Branch) zusammenzuführen. 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 „Löschen und Wiederherstellen von Branches in einem Pull Request."
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 dies.
Hier hat jemand einen Branch mit Namen feature1
aus dem master
-Branch erstellt, und Du hast dann einen Branch mit Namen feature2
aus dem feature1
-Branch 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 Basis-Branch für feature2
. Wenn nun der Pull Request für feature2
zusammengeführt wird, wird der feature2
-Branch in feature1
zusammengeführt.
Im nächsten Diagramm hat jemand den Pull Request für feature1
in den master
-Branch zusammengeführt und danach den feature1
-Branch gelöscht. Als Resultat hat GitHub automatisch den Pull Request für feature2
umgeleitet, sodass dessen Basis-Branch jetzt master
ist.
Wenn Du jetzt den feature2
Pull Request zusammenführst, wird er in den master
-Branch zusammengeführt.
Mit geschützten Branches arbeiten
Repository-Administratoren können den Schutz 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 ein Repository-Administrator bist, kannst Du Pull Requests auf geschützten Branches zusammenführen, auch wenn der Pull Request nicht den Anforderungen entspricht, es sei denn, der Branch-Schutz wurde auf „Include administrators“ (Administratoren einbeziehen) festgelegt.
Um zu ermitteln, ob Dein Pull Request zusammengeführt werden kann, wirf einen Blick in das Merge-Fenster am unteren Rand der Registerkarte Conversation (Unterhaltung) 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 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. For more information, see "About commit signature verification" and "About protected branches."
- If you use GitHub's conflict editor to fix conflicts for a pull request that you created from a protected branch, GitHub helps you to create an alternative branch for the pull request, so that your resolution of the conflicts can be merged. Weitere Informationen findest Du unter „Einen Mergekonflikt auf GitHub beheben.“
Weiterführende Informationen
- „Informationen zu Pull Requests“
- „Branch“ im GitHub-Glossar
- „Branches auf einen Blick“ in der Git-Dokumentation