nie ma problemu - wszystko działa zgodnie z oczekiwaniami.
W GitLab niektóre gałęzie mogą być chronione. Domyślnie tylko użytkownicy Maintainer / Owner mogą zatwierdzać chronione oddziały (patrz dokumentacja uprawnień ). master
gałąź jest domyślnie chroniona - zmusza deweloperów do wydawania żądań scalenia do sprawdzenia przez opiekunów projektu przed zintegrowaniem ich z głównym kodem.
Możesz włączyć i wyłączyć ochronę wybranych gałęzi w Ustawieniach projektu (gdzie dokładnie zależy od wersji GitLab - patrz instrukcje poniżej).
Na tej samej stronie ustawień możesz także zezwolić programistom na wypychanie do chronionych gałęzi. Po włączeniu tego ustawienia ochrona będzie ograniczona do odrzucania operacji wymagających git push --force
(bazowania itp.)
Od GitLab 9.3
Przejdź do projektu: „Ustawienia” → „Repozytorium” → „Rozwiń” w „Chronionych oddziałach”
Nie jestem pewien, kiedy ta zmiana została wprowadzona, zrzuty ekranu pochodzą z wersji 10.3.
Teraz możesz wybrać, kto może łączyć lub wypychać do wybranych gałęzi (na przykład: możesz master
w ogóle wyłączyć wypychania , zmuszając wszystkie zmiany w gałęzi do wprowadzenia za pośrednictwem żądań scalenia). Lub możesz kliknąć „Nie chroń”, aby całkowicie usunąć ochronę z oddziału.
Od GitLab 9.0
Podobnie jak GitLab 9.3, ale nie trzeba klikać „Rozwiń” - wszystko jest już rozwinięte:
Przejdź do projektu: „Ustawienia” → „Repozytorium” → przewiń w dół do „Chronionych gałęzi”.
Przed GitLab 9.0
Projekt: „Ustawienia” → „Chronione gałęzie” (jeśli jesteś przynajmniej „Mistrzem” danego projektu).
Następnie kliknij „Unprotect” lub „Developers can push”: