Es gibt kein Problem - alles funktioniert wie erwartet.
In GitLab können einige Zweige geschützt werden. Standardmäßig können nur Benutzer von Maintainern / Eigentümern geschützte Zweige festlegen (siehe Berechtigungsdokumente ). master
Der Zweig ist standardmäßig geschützt. Entwickler müssen Zusammenführungsanforderungen ausgeben, die von den Projektbetreuern validiert werden müssen, bevor sie in den Hauptcode integriert werden.
Sie können den Schutz für ausgewählte Zweige in den Projekteinstellungen aktivieren und deaktivieren (wobei dies genau von der GitLab-Version abhängt - siehe Anweisungen unten).
Auf derselben Einstellungsseite können Sie Entwicklern auch erlauben, in die geschützten Zweige zu pushen. git push --force
Wenn diese Einstellung aktiviert ist , beschränkt sich der Schutz auf das Ablehnen von Vorgängen, die erforderlich sind (Rebase usw.).
Seit GitLab 9.3
Gehen Sie zum Projekt: "Einstellungen" → "Repository" → "Erweitern" auf "Geschützte Zweige"
Ich bin mir nicht sicher, wann diese Änderung eingeführt wurde. Die Screenshots stammen aus der Version 10.3.
Jetzt können Sie auswählen, wer in ausgewählten Zweigen zusammengeführt oder verschoben werden darf (zum Beispiel: Sie können Push- master
to-Vorgänge deaktivieren, um alle Änderungen am Zweig über Zusammenführungsanforderungen zu erzwingen). Oder Sie können auf "Schutz aufheben" klicken, um den Schutz vollständig vom Zweig zu entfernen.
Seit GitLab 9.0
Ähnlich wie bei GitLab 9.3, jedoch ohne auf "Erweitern" klicken zu müssen - alles ist bereits erweitert:
Gehen Sie zum Projekt: "Einstellungen" → "Repository" → scrollen Sie nach unten zu "Geschützte Zweige".
Vor GitLab 9.0
Projekt: "Einstellungen" → "Geschützte Zweige" (wenn Sie mindestens "Master" eines bestimmten Projekts sind).
Klicken Sie dann auf "Unprotect" oder "Developers can push":