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 ). master
branch è 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":