Saya memiliki masalah ketika saya mendorong kode saya ke git sementara saya memiliki akses pengembang di proyek saya, tetapi semuanya baik-baik saja ketika saya memiliki akses master. Dari mana datangnya masalah? Dan bagaimana cara memperbaikinya?
Pesan eror:
kesalahan: Anda tidak diizinkan untuk mendorong kode ke cabang yang dilindungi pada proyek ini.
...
error: gagal mendorong beberapa referensi ke ...
Jawaban:
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":
sumber
untuk GitLab Enterprise Edition 9.3.0
Secara default, cabang utama dilindungi sehingga tidak terlindungi :)
1-Pilih Anda "memproyeksikan"
2-Pilih "Repositori"
3-Pilih "cabang"
4-Pilih "Pengaturan Proyek"
5-In "Cabang yang Dilindungi" klik untuk "memperluas"
6-dan setelah klik pada tombol "tidak aman"
sumber
Saya mengalami kesalahan ini pada "cabang kosong" di server gitlab lokal saya. Beberapa orang menyebutkan bahwa "Anda tidak dapat mendorong untuk pertama kalinya di cabang kosong". Saya mencoba membuat file README sederhana di gitlab melalui browser saya. Kemudian semuanya diperbaiki dengan luar biasa dan masalahnya beres !! Saya menyebutkan bahwa saya adalah penguasa dan cabang tidak dilindungi.
sumber
Coba buat perubahan sesuai tautan
https://docs.gitlab.com/ee/user/project/protected_branches.html
membuat proyek tidak terlindungi bagi pengelola atau pengembang untuk Anda komit
sumber
Solusi sederhana untuk masalah ini untuk melakukan obrolan cepat dengan orang yang memiliki peran sebagai pemilik di gitlab. Dia dapat mendorong satu file READ.md atau serupa dengan yang baru mulai. Nantinya, semuanya akan bekerja seperti sebelumnya.
sumber
Saya menggunakan Windows saat masalah ini muncul.
Kesalahannya aneh karena terjadi sebelum saya bisa memasukkan nama pengguna dan kata sandi saya. Bagaimana jika ada cache atau sesuatu seperti ini? Saya menggali secara online dan menemukan jawaban ini di forum dukungan gitlab :
Di Kredensial Windows, saya menemukan dua entri GitLab untuk akun lama. Saya menghapus keduanya dan sekarang berfungsi!
Panel:
sumber
Ini dianggap sebagai fitur di Gitlab.
Maintainer / Owner
akses tidak pernah dapat memaksa mendorong lagi untuk cabang default & terlindungi, sebagaimana dinyatakan dalam dokumen inisumber
Saya mengalami masalah yang sama pada repositori saya. Saya adalah master repositori, tetapi saya memiliki kesalahan seperti itu.
Saya sudah melindungi proyek saya dan kemudian kembali dilindungi, dan kesalahannya hilang.
Kami telah memutakhirkan versi gitlab antara dorongan saya sebelumnya dan yang bermasalah. Saya kira upgrade ini telah menciptakan bug.
sumber
Solusi di atas menjelaskan dengan jelas apa masalahnya; ketika Anda tidak memiliki kendali atas repo, cara terbaik untuk mengirimkan kode Anda adalah dengan membuat Fork dari repo asli dan mengirimkan kode Anda ke repo baru ini sehingga nanti Anda bisa mendorongnya ke yang asli.
sumber