Informationen zu erforderlichen Statuschecks
Mithilfe von erforderlichen Statuschecks wird sichergestellt, dass alle erforderlichen CI-Tests bestanden werden, bevor Mitarbeiter Änderungen an einem geschützten Branch vornehmen können.
Geschützte Branches sind in öffentlichen Repositorys mit GitHub Free und in öffentlichen und privaten Repositorys mit GitHub Pro, GitHub Team, GitHub Enterprise Cloud und GitHub Enterprise Server verfügbar.
Wenn Sie in Ihrem Repository Schutzmaßnahmen für Branches erzwingen, können Sie erforderliche Statuschecks einrichten. Weitere Informationen finden Sie unter „Geschützte Branches konfigurieren“ und „Erforderliche Statuschecks aktivieren“. Erforderliche Statuschecks können Prüfungen oder Status sein. Weitere Informationen finden Sie unter „Informationen zu Statuschecks“.
Nach der Aktivierung der erforderlichen Statuschecks müssen alle erforderlichen Statuschecks durchlaufen werden, bevor Branches in den geschützten Zweig gemergt werden können. After all required status checks have passed, any commits must either be pushed to another branch and then merged or pushed directly to the protected branch.
Hinweis: Jede Person oder Integration mit Schreibberechtigungen auf ein Repository kann den Zustand von Statuschecks im Repository festlegen. GitHub Enterprise verifiziert nicht, dass der Autor eines Checks autorisiert ist, einen Check mit einem bestimmten Namen zu erstellen oder einen vorhandenen Status zu ändern. Before merging a pull request, you should verify that the author of each status, listed in the merge box, is expected.
Wenn Sie eine Prüfung und einen Status mit dem gleichen Namen haben und diesen Namen als erforderlichen Statuscheck auswählen, sind sowohl die Prüfung als auch der Status erforderlich. Weitere Informationen finden Sie unter „Prüfungen“ in die GitHub-Entwicklerdokumentation.
Nachdem Sie die erforderlichen Statuschecks eingerichtet haben, muss Ihr Branch vor dem Mergen auf dem neuesten Stand des Basis-Branches sein. Dadurch wird sichergestellt, dass Ihr Branch mit dem neuesten Code aus dem Basis-Branch getestet wurde. Wenn Ihre Branch veraltet ist, müssen Sie den Basis-Branch in Ihren Branch mergen.
Hinweis: Sie können Ihren Branch auch mit einem Git-Rebase auf den neuesten Stand des Basis-Branches bringen. Weitere Informationen finden Sie unter „Informationen zu Git rebase“.
Sie können lokale Änderungen erst dann an einen geschützten Branch pushen, wenn alle erforderlichen Statuschecks bestanden sind. Ansonsten erhalten Sie eine Fehlermeldung ähnlich der folgenden:
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Required status check "ci-build" is failing
Hinweis: Pull Requests, die auf dem neuesten Stand sind und die erforderlichen Statuschecks bestehen, können lokal gemergt und an den geschützten Branch gepusht werden. Dies kann ohne Statuschecks erfolgen, die auf dem Merge-Commit selbst ausgeführt werden.
Administratoren eines Repositorys können einen geschützten Branch mergen, auch wenn die erforderlichen Statuschecks nicht bestanden wurden oder noch ausstehen. Sie können verlangen, dass für Administratoren erforderliche Statuschecks notwendig sind. For more information, see "Enabling required status checks."
Administratoren können einen geschützten Branch mergen, auch wenn der Branch nicht auf dem neuesten Stand des Basis-Branches ist.
You can set up either loose or strict status checks, depending on whether you want to require your branch to be up to date with the base branch before merging. For more information, see "Types of required status checks."