Ketika saya mencoba dan mendorong perubahan yang saya lakukan, saya mendapatkan kesalahan berikut ...
git.exe push -v --progress "origin" iteration1:iteration1
remote: *********************************************************************
To ssh://git@mycogit/cit_pplus.git
! [remote rejected] iteration1 -> iteration1 (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@mycogit/cit_pplus.git'
Apa yang sedang terjadi?
Jawaban:
Anda harus bertanya kepada siapa pun yang memelihara repo di
git@mycogit/cit_pplus.git
.Komit Anda ditolak oleh
pre-receive
hook dari repo itu (itu adalah skrip yang dapat dikonfigurasi pengguna yang dimaksudkan untuk menganalisis komit yang masuk dan memutuskan apakah mereka cukup baik untuk diterima ke dalam repo).Adalah ide yang baik untuk meminta orang itu memperbarui pengait, sehingga akan mencetak alasan penolakan.
Jika pengelolanya adalah Anda sendiri, maka sepertinya Anda memiliki masalah dengan pengaturan di sisi server. Silakan bagikan informasi lebih lanjut.
sumber
git config user.name 'UpdatedUserName'
Saya berani bertaruh bahwa Anda sedang mencoba dorongan yang tidak bisa maju dan kait menghalangi itu. Jika itu masalahnya, jalankan saja
git pull --rebase
sebelum mendorong untuk mengubah kembali perubahan lokal Anda pada basis kode terbaru.sumber
git branch --set-upstream-to=origin/myBranch
. +1 untuk jawaban Anda.git pull --rebase
, harus rebase lagi dan mampu mendorong cabang. Akhirnya saya menemukan bahwa cabang saya menjadi terlindungi.Ukuran file itu penting. Ada batas ~ 120MB untuk satu file. Dalam kasus saya, .gitignore menggunakan Visual Studio memiliki daftar file, tetapi file itu masih dilakukan. Saat menggunakan git cli, kita bisa mendapatkan informasi lebih detail tentang kesalahan tersebut.
kait pra-terima ditolak karena file besar. Pada dasarnya memvalidasi push.
Untuk mengatasinya, saya menghapus komit terakhir menggunakan:
Saya kemudian mengecualikan file dari komit.
Catatan: Gunakan HEAD ~ N untuk kembali ke N jumlah komit sebelumnya. (mis. 3, 4) Selalu gunakan sakelar --soft untuk mempertahankan perubahan di folder
semoga membantu.
sumber
Ini mungkin karena Anda tidak memiliki hak akses untuk mendorong komit ke cabang seperti
master
. Anda dapat meminta pengelola untuk memberi Anda hak untuk mendorong komitmen.sumber
Dalam kasus saya, saya menerima pesan ini karena cabang ditandai sebagai 'Dilindungi' di GitLab.
sumber
Protected Branches
untuk menemukannya.Saya mendapat pesan ini ketika server GitLab mengalami beberapa perubahan. Hari berikutnya mendorong bekerja dengan baik. Bagaimanapun, seperti yang ditunjukkan orang lain, tanyakan kepada pengelola Anda untuk memastikan.
sumber
Saya mengalami masalah ini ketika mencoba untuk menggabungkan perubahan dengan ukuran file lebih besar dari yang diperbolehkan repositori jarak jauh (dalam kasus saya itu adalah GitHub)
sumber
Saya mengalami masalah yang sama ini.
Yang dipecahkan bagi saya adalah beralih ke cabang lain dan kemudian kembali ke yang asli.
Tidak yakin apa penyebab garis bawahnya, tetapi ini memperbaikinya.
sumber
Bitbucket : Periksa izin Cabang di Pengaturan (mungkin di 'Tolak semua'). Jika itu tidak berhasil, cukup tirukan cabang Anda ke cabang lokal baru , dorong perubahan ke remote (cabang remote baru akan dibuat), dan buat PR.
sumber
Dalam hal ini membantu seseorang:
Saya punya repo kosong tanpa cabang master untuk membuka proteksi (di Gitlab) jadi sebelum menjalankan
git push -u origin --all
git push -u origin master
dulu,--all
&--tags
)sumber
Saya menghadapi kesalahan yang sama, setelah memeriksa saya memiliki akses pengembang dan tidak dapat menerbitkan cabang baru. Menambahkan hak akses yang lebih tinggi menyelesaikan masalah ini. (Gitlab)
sumber
Saya mendapat kesalahan ini dengan inti GitHub. Saya mencoba untuk mendorong komit dengan file di sub-direktori. Ternyata inti hanya dapat memiliki file di direktori root.
sumber
"snippets\\csharp.json"
yang memberikan git pada windows waktu yang sulit.Hapus opsi cabang yang dilindungi atau izinkan peran tambahan seperti pengembang atau admin untuk memungkinkan pengguna ini mengalami kesalahan ini untuk melakukan penggabungan dan mendorong.
sumber
Dalam kasus saya, kami memiliki kait untuk pesan komit, skrip server kami menerima komit jika memiliki format khusus untuk pesan komit
"<JIRA ID><Message>"
. Itu (kait) menolak komit jika masing-masing tiket Jira tidak ada atau ada beberapa simbol khusus dalam pesan komit. Saya menghadapi kesalahan ini ketika saya menambahkan /, [,> dll dalam pesan komit, menghapus itu berfungsi dengan baik.sumber
Ini sebenarnya terjadi ketika YACC diaktifkan di sisi server di BitBucket. YACC memungkinkan nama masalah JIRA disebutkan dalam pesan komit. Jadi, setiap kali Anda melakukan sesuatu minimal simpan nomor JIRA Anda ke dalam pesan komit dan kemudian Anda dapat menambahkan pesan Anda sendiri.
sumber
Saya menggunakan GitKraken dan kami membuat cabang lokal, lalu kami menggabungkan dua cabang terpencil di dalamnya dan kemudian kami mencoba mendorong cabang lokal ke tempat asalnya. Itu tidak berfungsi dengan pesan kesalahan yang sama.
The solusi adalah untuk menciptakan cabang lokal dan dorong pertama ke asal dan kemudian melakukan penggabungan.
sumber
Masalah: "PUSH Failed refs / head / - hook pra-terima ditolak"
Saya telah menghadapi masalah tidak dapat mendorong perubahan saya ke cabang asal saya dan apa pun untuk menguasai cabang repositori proyek tertentu karena ukuran repo itu melebihi batas 2GB. Itu melempar kesalahan. Itu karena kami telah mendorong data pengujian tanpa sadar ke bitbucket dari cabang pengujian lainnya.
Jadi mencoba memeriksa apakah itu sama dengan repo proyek lain dan mereka tidak memiliki masalah.
Memperbaiki:
Kolega saya memperhatikan bahwa ketika kami mengkloning proyek kembali secara lokal, ukuran proyek adalah 110MB. Jadi kami mulai membersihkan cabang yang kami gabungkan sebelumnya dan cabang aktif yang tidak diperlukan lagi. Setelah pembersihan dilakukan untuk beberapa cabang, kami menyadari bahwa ukuran repo turun drastis dari 2GB menjadi 120MB. Kemudian kami mencoba untuk mendorong perubahan ke cabang saya dan berhasil.
sumber
Dalam kasus saya, saya memiliki repositori baru, mendorong cabang ('UCA-46', bukan 'master'), mengubahnya kembali, mendorong paksa lagi dan mendapatkan kesalahan. Tidak ada kait web. Saya dieksekusi
git pull --rebase
sesuai saran @ThiefMaster , harus rebase lagi dan bisa mendorong cabang. Tapi itu cara yang aneh dan sulit.Lalu saya melihat Git push error pra-terima kait ditolak . Saya menemukan bahwa cabang saya menjadi terlindungi . Saya menghapus perlindungan dan secara paksa bisa mendorong lagi.
sumber
Saya mendapatkan ini ketika mencoba untuk mendorong ke contoh dokku. Ternyata disk sudah penuh di server saya.
Ran:
du -f
Dan hasilnya adalah:
sumber
Bagi saya Otorisasi pada server git jarak jauh menyelesaikan masalah.
sumber
Dalam kasus saya, itu karena saya tidak sengaja menambahkan file raksasa ke push tanpa komitmen saya dan saya tidak bisa menyingkirkannya tidak peduli apa pun yang menarik atau mengatur ulang atau rm yang saya lakukan setelahnya.
solusi kotor saya tetapi solusi yang bisa diterapkan adalah mengubah nama direktori saat ini, mengkloning ulang direktori ke lokal dan mencerminkan perubahan secara manual ke direktori lokal yang sudah dikloning ulang ...
Kedengarannya tidak bagus tapi berhasil ...
sumber
Kesalahan bagi saya adalah bahwa proyek tidak memiliki cabang dibuat, dan peran saya adalah pengembang, jadi saya tidak bisa membuat cabang apa pun, meminta mereka memberi saya izin terkait dan semuanya beres sekarang!
sumber
Cabang default (mis.
master
) Belum ada untuk remote Anda. Jadi pertama-tama Anda perlu membuatmaster
cabang di server remote git (mis. MembuatREADME.md
file default ) kemudian mencobapush
semua cabang lokal Anda yang ada menggunakan perintah ini:sumber
Bagi saya semuanya berjalan dengan baik sampai Bitbucket secara otomatis mengubah kebijakan mereka hari ini (21 April 2020). Ini terjadi untuk menyelaraskan dengan fitur baru yang baru-baru ini diperkenalkan hari ini yang disebut Workspaces , jadi saya curiga ada hubungannya dengan itu.
Penanganan Masalah : Saya (sebagai Admin) mengikuti instruksi untuk menambahkan alamat email ke Pengguna di UI (email yang Anda gunakan dapat ditemukan
git config --list
sumber
Menentukan versi node.js dapat menyelesaikan masalah seperti
sumber