Saya telah menjalankan gitlabhq rails server di mesin virtual, mengikuti 1-6 langkah dari tutorial ini https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md dan memulai perintah eksekusi server rails sudo -u git -H bundle exec rails s -e production
. Setelah itu saya membuat pengguna, menggunakan alat admin dan membuat proyek baru di bawah pengguna ini. Lalu saya mencoba untuk mendorong proyek yang ada ke repo ini seperti biasa. Tetapi pada langkah terakhir, git push origin master
gagal dengan kesalahan
master [ditolak jauh] -> master (pra-terima kait ditolak)
Informasi tambahan:
1) Saya belum mengaktifkan pengguna (pemilik proyek) melalui tautan aktivasi email, karena saya belum mengonfigurasi layanan pos di sisi server dan saya tidak menemukan petunjuk bagaimana melakukannya di manual ini.
2) Server Gitlab menghasilkan kiat bagaimana mendorong proyek untuk melakukan repo dan tidak ada repositories/
jalurnya. Maksud saya menghasilkan git@mygitlabhost:user/repo.git
bukan git@mygitlabhost:repositories/user/repo.git
yang benar.
3) Ketika saya mencoba untuk debug itu, saya membuka pre-receive
naskah dalam repo pada server dan mencoba untuk variabel keluaran (ada 3 dari mereka): refs = ARGF.read
, key_id = ENV['GL_ID']
dan repo_path = Dir.pwd
dan menemukan, bahwa KEY_ID selalu kosong. Mungkin masalahnya ada di sini ... Jika demikian, tolong beri saya saran tentang cara memperbaikinya. Terima kasih
Jawaban:
GitLab secara default menandai
master
cabang sebagaiprotected
(Lihat bagianProtecting your code
di https://about.gitlab.com/2014/11/26/keeping-your-code-protected/ mengapa). Jika demikian dalam kasus Anda, maka ini dapat membantu:via https://gitlab.com/gitlab-com/support-forum/issues/40
Untuk versi 8.11 dan di atas caranya di sini: https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users
sumber
GitLab 8.11
opsinya telah sedikit berubah, periksa detailnya di siniA. Pertama, pastikan Anda menggunakan detail login yang benar untuk terhubung ke Bitbucket Server (mis. Kunci nama pengguna / kata sandi / SSH yang menjadi milik Anda)
B. Kemudian, pastikan bahwa nama / alamat email diatur dengan benar di konfigurasi Git lokal Anda: Tetapkan konfigurasi Git lokal Anda untuk akun yang Anda coba tekan (cek menyatakan bahwa Anda adalah orang yang melakukan file) * Perhatikan bahwa ini peka huruf besar-kecil, untuk nama dan alamat email * Ini juga peka terhadap ruang - beberapa akun perusahaan memiliki spasi / karakter tambahan dalam nama mereka, misalnya. "
Contractor/ space space(LDN)
". Anda harus memasukkan jumlah ruang yang sama dalam konfigurasi Anda seperti pada Bitbucket Server. Periksa ini di Notepad jika macet.C. Jika Anda menggunakan akun yang salah, cukup alihkan kredensial akun Anda (nama pengguna / kata sandi / kunci SSH) dan coba dorong lagi.
D. Lain, jika konfigurasi lokal Anda salah, Anda harus mengubahnya
open -a TextEdit.app ~/.gitconfig
CATATAN: Anda harus memperbaiki komitmen lama yang Anda coba tekan.
Ubah komit terakhir Anda:
Coba dorong kembali komitmen Anda:
sumber
Dalam kasus saya, tim saya memimpin untuk membuat repo (repo kosong) dan menugaskan saya sebagai pengembang sehingga ketika saya mendorong ke kode secara langsung untuk menguasai kesalahan yang saya hadapi
! [remote rejected] master -> master (pre-receive hook declined)
Jadi bagaimana cara memperbaikinya maka ia menugaskan saya sebagai pengelola sehingga saya dapat mendorong kode langsung ke master.sumber
Tampaknya masalahnya adalah dengan beberapa layanan, seperti sidekiq. Menjalankan
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
output semua masalah dengan konfigurasi.sumber
ihave mengikuti instruksi log heroku img https://devcenter.heroku.com/articles/buildpacks#detection-failure (gunakan cmd: log heroku -> tunjukkan kesalahan Anda) lalu lakukan cmd: "heroku buildpacks: clear". akhirnya, itu berhasil untuk saya!
sumber
Anda mungkin tidak memiliki akses pengembang ke proyek atau cabang utama. Anda memerlukan akses dev untuk mendorong pekerjaan baru.
Pekerjaan baru yang berarti cabang dan komitmen baru.
sumber
Mungkin bukan itu masalahnya, tetapi ini adalah solusi untuk kesalahan " pra-terima kait saya ditolak ":
Ada beberapa repositori yang hanya mengizinkan modifikasi melalui Pull Request . Ini artinya Anda harus
sumber
Anda perlu menambahkan kunci ssh Anda ke akun git Anda, jika ia melempar kesalahan kemudian hapus kunci ssh sebelumnya dan buat kunci ssh baru kemudian tambahkan.
sumber
Saya memecahkan masalah ini dengan mengubah
remote 'origin' url
darihttp
kegit
protokol di.git/config
sumber
Buka Pengaturan proyek -> Kait -> (Bawah) Kait pra-terima
Nonaktifkan cp memerlukan referensi masalah dalam komit
sumber
Saya menemukan kesalahan yang sama menggunakan BitBucket. Saya punya repo Git lokal yang ingin saya buat cadangannya secara online, jadi saya membuat repositori baru dari akun BitBucket saya (menggunakan antarmuka web).
Setelah berjalan
git remote add origin [email protected]:StatMarianne/<a private repo>.git
, saya berlarigit push origin master
tanpa hasil (saya biasanya tidak menggunakan opsi -u dengangit push
karena saya tidak keberatan mengetik repo dan nama cabang penuh saat mendorong dan menarik).Kesalahan terbaca:
Tetapi cabang lokal saya berhasil didorong ketika saya berlari
git push -u origin master
(mengikuti instruksi ketat BitBucket).Saya menemukan itu mengejutkan, karena -u (
--set-upstream
) seharusnya hanya "menambahkan referensi hulu (pelacakan) ..." Bagaimanapun.sumber
Saya menghadapi masalah yang sama, ini karena saya mendorong kode saya langsung di cabang utama, dan saya tidak punya hak untuk ini. Jadi saya mendorong kode saya di cabang baru dan setelah itu, saya membuat permintaan tarik untuk bergabung dengan master.
sumber