git push uzaktan kumandayla başarısız oluyor: hata: refs / heads / master güncellemesi için kanca reddedildi


9

Son zamanlarda bir topluluk git repo üzerinde kendi projemi başlatmaya çalışıyorum ve bazı komplikasyonlarım var. Git için yeniyim, ama sadece test etmek için yapmaya çalıştığım şey bu.

Aşağıdaki komutları çalıştırıyorum ve hepsi tamam.

git config --global user.name "MYNAME"
git config --global user.email "MYEMAIL"
mkdir testproject
cd testproject
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@git.xxxxx.org:community/testproject.git

ve yukarıdaki komutların tümü hatasız çalışır. Ancak, bir sonraki komutu çalıştırdığımda büyük bir hata alıyorum.

git push -u origin master

ve hata.

Counting objects: 3, done.
Writing objects: 100% (3/3), 204 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
Username for 'http://git.xxxxxx.org': MYEMAIL
Password for 'http://MYEMAIL.com@git.xxxxxx.org': 
remote: /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.1.0 in any of the sources (Bundler::GemNotFound)
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in `map!'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in `materialize'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:114:in `specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:159:in `specs_for'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:148:in `requested_specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/environment.rb:18:in `requested_specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:13:in `setup'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
remote:         from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
remote:         from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
remote: error: hook declined to update refs/heads/master
To http://git.xxxxxx.org/community/testproject.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'http://git.xxxxxx.org/community/testprojact.git'

Buradan ne yapacağımdan gerçekten emin değilim, ama herhangi bir yardım çok takdir ediliyor.

Ayrıca, önemliyse Arch'ı çalıştırıyorum.

Düzenleme: Komisyon yeniden yüklemeyi denedim ve işe yaramadı. Mevcut komisyon sürümü 10.1.1 idi, bu yüzden onu kaldırmayı ve 10.1.0 sürümü ile değiştirmeyi denedim ve bu da düzeltmedi.

Ancak komisyon yüklerken bir hatayla karşılaştım:

WARNING:  You don't have /home/josh/.gem/ruby/2.0.0/bin in your PATH,
          gem executables will not run.

Bu soruna katkıda bulunabilir mi?

Yanıtlar:


9

Uzaktan kumandanın veri almayı reddetmesi gerçek sorunun sadece bir yan etkisidir - git, uzak uçtaki kancalardan biri çıkış durumu> 0 ile başarısız olduğu için reddedildiğini düşünür (bunun içinde ne olduğunu görebilirsiniz. Ruby traceback). Görünüşe göre kancalardan biri kullanmaya çalışıyor rakeve bulamıyor. Muhtemelen bu özel repo ile ilgili bir sorun değil. Bu mesaj aynı zamanda yerel bilgisayarınızdan değil - "remote" ön ekine sahip olduğuna dikkat edin, eksik olan uzaktan kumandadırrake , bu nedenle muhtemelen yalnızca o taraftaki bir sysadmin sorunu çözebilir.

Git deponuzu yöneten kimseyle iletişime geçmenizi öneririm.


Ben de öyle düşünüyordum. Git depomdaki kancaların hiçbiri aktif değil ve şimdiye kadar yaptığım hiçbir şey hatayı değiştirmiyor ya da yenilerini oluşturuyor gibi görünüyor. Repo sahibiyle iletişime geçeceğim ve sorun hakkında herhangi bir bilgi olup olmadığını göreceğim.
Joshua Strot

Sorunu ortaya çıkarmak, onların GitLab desteklenmeyen HTTP yöntemini itmeye çalışıyordu. Bunun yerine SSH'yi itmeniz gerekiyor, bu harika çalışıyor.
Söylemeliyim

0

Bunun senin sorunun olduğuna inanıyorum.

remote: error: hook declined to update refs/heads/master
To http://git.xxxxxx.org/community/testproject.git
 ! [remote rejected] master -> master (hook declined)

Bu hatayı ara SO üzerinde bu Q & A ile karşılaştım, başlık: hata: kanca bir kolu iterken refs / heads / external_pub güncellemek için reddetti .

Sunucuda itmeyi reddeden bir git kancası var gibi görünüyor .

alıntı

Sunucu Tarafı Kancaları

İstemci tarafı kancalarına ek olarak, projeniz için neredeyse her türlü ilkeyi uygulamak için sistem yöneticisi olarak birkaç önemli sunucu tarafı kancası kullanabilirsiniz. Bu komut dosyaları sunucuya aktarmadan önce ve sonra çalışır. Ön kancalar, itmeyi reddetmek ve istemciye bir hata mesajı yazdırmak için herhangi bir zamanda sıfırdan çıkabilir; istediğiniz kadar karmaşık bir push politikası oluşturabilirsiniz.

Bu hata iletisini neden aldığınızı belirlemek için hangi kancanın sizi tetiklediğini bulmanız gerekir. Kancalar hooksgit klasörü içindeki klasörde saklanır (uzak sunucu ucunda) - pre-receivekancayı veya updatekancayı bulun ve soruna neyin neden olduğunu kontrol edin.


Kancalar klasörümün içinde .sample uzantılı birden çok dosya var. Ön alma kancam yok, ancak bir güncelleme kancası var. Hepsi .sample uzantısına sahip olduğundan, bunların hiçbirinin kullanımda olduğuna inanmıyorum, bu yüzden sunucuda beni reddeden bir kanca olabilir mi? Çevrimiçi baktım ve sorunumla çeşitli şeyler yaparak onu düzelten birkaç kişi var, bunların hiçbiri benim durumumda düzeltmedi.
Joshua Strot

0

GIT veri havuzundaki rolü / grubu ve izni kontrol et Benim durumum, yalnızca kırmızı izin ve GIT veri havuzu ekibi tarafından sağlanan okuma / yazma erişiminden sonra çözülmesi


0

@Radhakrishnan zaten önerdi mi, bir izin sorunu yaşıyor olabilirsiniz.

Redmine Git Hosting kullanıyorsanız , git'in izleme referanslarını yeniden yazmaya çalışan kullanıcıya projet permissions Manager rolünün atandığını kontrol edin .

Aynı uzak dalı paylaşıyor olabilecek diğer kullanıcılar üzerinde git push -force etkisinin farkında olduğunuzu varsayıyorum . Daha fazla ayrıntı için bu makaleye göz atın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.