Artikelversion: Enterprise Server 2.17
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 verfügbar in öffentlichen Repositorys mit GitHub Free und GitHub Free für Organisationen, und in öffentlichen und privaten Repositorys mit GitHub Pro, GitHub Team, GitHub Enterprise Cloud, und GitHub Enterprise Server.
Informationen zu erforderlichen Statuschecks
Wenn Du in Deinem Repository Schutzmaßnahmen für Branches erzwungen hast, kannst Du erforderliche Statuschecks einrichten. Weitere Informationen findest Du unter „Geschützte Branches konfigurieren“ und „Erforderliche Statuschecks aktivieren“. Erforderliche Statuschecks können Prüfungen oder Status sein. Weitere Informationen findest Du unter „Über Statuschecks."
Nach der Aktivierung der erforderlichen Statuschecks müssen alle erforderlichen Statuschecks durchlaufen werden, bevor Branches in den geschützten Branch zusammengeführt werden können. Nachdem alle erforderlichen Statuschecks durchlaufen sind, müssen alle Commits entweder in einen anderen Branch übertragen und dann zusammengeführt oder direkt in den geschützten Branch übertragen werden.
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 einer Prüfung autorisiert ist, eine Prüfung mit einem bestimmten Namen zu erstellen oder einen vorhandenen Status zu ändern. Vor dem Zusammenführen eines Pull-Request solltest Du überprüfen, dass der Autor jedes im Merge-Feld aufgeführten Status erwartet wird.
Administratoren eines Repositorys können einen geschützten Branch zusammenführen, auch wenn die erforderlichen Statuschecks nicht bestanden wurden oder noch ausstehen. Du kannst verlangen, dass auch für Administratoren erforderliche Statuschecks notwendig sind. Weitere Informationen findest du unter „Erforderliche Statuschecks aktivieren."
Administratoren können einen geschützten Branch zusammenführen, auch wenn der Branch nicht auf dem neuesten Stand des Basis-Branches ist.
Einstellungen für erforderliche Statuschecks
Du kannst entweder lose oder strenge Statuschecks einrichten, je nachdem, ob Du vor dem Zusammenführen eine Aktualisierung Deines Branch mit dem Basis-Branch verlangen willst. Weitere Informationen findest Du unter „Arten von erforderlichen Statuschecks."
Fehlerbehebung von erforderlichen Statuschecks
Wenn Du eine Prüfung und einen Status mit dem gleichen Namen hast, und Du selektierst diesen Namen als erforderlichen Statuscheck, dann sind sowohl die Prüfung wie auch der Status erforderlich. Weitere Informationen findest Du unter „Prüfungen“ in die GitHub-Entwicklerdokumentation.
Nachdem Du die erforderlichen Statuschecks eingerichtet hast, muss Dein Branch vor dem Zusammenführen auf dem neuesten Stand des Basis-Branches sein. Dadurch wird sichergestellt, dass Dein Branch mit dem neuesten Code aus dem Basis-Branch getestet wurde. Wenn Dein Branch veraltet ist, musst Du den Basis-Branch in Deinen Branch zusammenführen.
Note: Mit Git rebase kannst Du Deinen Branch auch auf den Basis-Branch aktualisieren. Weitere Informationen findest Du unter „Informationen zu Git rebase.“
Du kannst lokale Änderungen erst dann an einen geschützten Branch übertragen, wenn alle erforderlichen Statuschecks bestanden sind. Ansonsten erhältst Du 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 zusammengeführt und an den geschützten Branch übertragen werden. Dies kann ohne Statuschecks erfolgen, die auf dem Merge-Commit selbst ausgeführt werden.