non c'è problema: tutto funziona come previsto.
In GitLab alcuni rami possono essere protetti. Per impostazione predefinita, solo gli utenti Maintainer / Owner possono eseguire il commit nei rami protetti (vedere i documenti delle autorizzazioni ). masterbranch è protetto per impostazione predefinita: obbliga gli sviluppatori a emettere richieste di unione che devono essere convalidate dai manutentori del progetto prima di integrarle nel codice principale.
È possibile attivare e disattivare la protezione sui rami selezionati in Impostazioni progetto (dove dipende esattamente dalla versione di GitLab - vedere le istruzioni di seguito).
Nella stessa pagina delle impostazioni puoi anche consentire agli sviluppatori di inserire i rami protetti. Con questa impostazione attiva, la protezione si limiterà a rifiutare le operazioni che richiedono git push --force(rebase ecc.)
Da GitLab 9.3
Vai al progetto: "Impostazioni" → "Repository" → "Espandi" in "Rami protetti"

Non sono davvero sicuro quando è stata introdotta questa modifica, gli screenshot sono dalla versione 10.3.
Ora puoi selezionare a chi è consentito unire o spingere nei rami selezionati (ad esempio: puoi disattivare tutti i push master, forzando tutte le modifiche al ramo da effettuare tramite Richieste di unione). Oppure puoi fare clic su "Rimuovi protezione" per rimuovere completamente la protezione dal ramo.
Da GitLab 9.0
Analogamente a GitLab 9.3, ma non è necessario fare clic su "Espandi": tutto è già espanso:
Vai al progetto: "Impostazioni" → "Repository" → scorri verso il basso fino a "Rami protetti".

Pre GitLab 9.0
Progetto: "Impostazioni" → "Rami protetti" (se si è almeno "Master" di un determinato progetto).

Quindi fare clic su "Annulla protezione" o "Gli sviluppatori possono spingere":
