tidak ada masalah - semuanya berfungsi seperti yang diharapkan.
Di GitLab beberapa cabang dapat dilindungi. Secara default hanya Pengguna Maintainer / Pemilik yang dapat melakukan ke cabang yang dilindungi (lihat dokumen izin ). master
cabang dilindungi secara default - itu memaksa pengembang untuk mengeluarkan permintaan gabungan untuk divalidasi oleh pengelola proyek sebelum mengintegrasikannya ke dalam kode utama.
Anda dapat menghidupkan dan mematikan perlindungan pada cabang tertentu di Pengaturan Proyek (di mana tepatnya tergantung pada versi GitLab - lihat instruksi di bawah).
Pada halaman pengaturan yang sama Anda juga dapat memungkinkan pengembang untuk mendorong ke cabang yang dilindungi. Dengan pengaturan ini, perlindungan akan terbatas pada menolak operasi yang membutuhkan git push --force
(rebase dll.)
Sejak GitLab 9.3
Pergi ke proyek: "Pengaturan" → "Repositori" → "Perluas" pada "Cabang yang dilindungi"
Saya tidak begitu yakin ketika perubahan ini diperkenalkan, tangkapan layar berasal dari versi 10.3.
Sekarang Anda dapat memilih siapa yang diizinkan untuk menggabungkan atau mendorong ke cabang yang dipilih (misalnya: Anda dapat mematikan push to to master
all, memaksa semua perubahan ke cabang dilakukan melalui Permintaan Gabung). Atau Anda dapat mengklik "Batalkan Proteksi" untuk sepenuhnya menghapus perlindungan dari cabang.
Sejak GitLab 9.0
Demikian pula dengan GitLab 9.3, tetapi tidak perlu mengklik "Perluas" - semuanya sudah diperluas:
Buka proyek: "Pengaturan" → "Repositori" → gulir ke bawah ke "Cabang yang dilindungi".
Pre GitLab 9.0
Proyek: "Pengaturan" → "Cabang yang dilindungi" (jika Anda setidaknya 'Master' dari proyek yang diberikan).
Kemudian klik "Batalkan Proteksi" atau "Pengembang dapat mendorong":