रिमोट के साथ git पुश विफल रहता है: त्रुटि: refs / हेड / मास्टर को अपडेट करने के लिए हुक को अस्वीकार कर दिया गया


9

मैं हाल ही में एक सामुदायिक git रेपो पर अपना प्रोजेक्ट शुरू करने की कोशिश कर रहा हूं, और मुझे कुछ जटिलताएं हो रही हैं। मैं नया हूँ, लेकिन यहाँ है कि मैं क्या कर रहा हूँ बस इसे परखने की कोशिश कर रहा हूँ।

मैं निम्नलिखित कमांड चलाता हूं और वे सभी ठीक चलते हैं।

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

और उपरोक्त सभी कमांड बिना किसी त्रुटि के चलते हैं। हालाँकि, जब मैं अगली कमांड चलाता हूं तो मुझे बहुत बड़ी त्रुटि मिलती है।

git push -u origin master

और त्रुटि है

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'

मुझे वास्तव में यकीन नहीं है कि यहां से क्या करना है, लेकिन किसी भी मदद की बहुत सराहना की जाती है।

इसके अलावा, मैं आर्क चला रहा हूँ अगर यह मायने रखता है।

संपादित करें: मैंने रेक को फिर से स्थापित करने की कोशिश की है और यह काम नहीं किया। रेक का मेरा वर्तमान संस्करण 10.1.1 था, इसलिए मैंने इसे हटाने की कोशिश की और इसे संस्करण 10.1.0 के साथ बदल दिया और इसे भी ठीक नहीं किया।

हालाँकि जब मैं रेक स्थापित कर रहा था, मुझे एक त्रुटि मिली:

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

क्या यह समस्या में योगदान दे सकता है?

जवाबों:


9

डेटा प्राप्त करने के लिए रिमोट को अस्वीकार कर दिया जाना वास्तविक समस्या का केवल एक साइड इफेक्ट है - git को लगता है कि इसे अस्वीकार कर दिया गया था क्योंकि दूरस्थ छोर पर हुक में से एक निकास स्थिति> 0 के साथ विफल रहा था (आप देख सकते हैं कि यह क्या था रूबी ट्रेसबैक)। ऐसा लगता है कि हुक में से एक का उपयोग करने की कोशिश करता है rake, और यह नहीं मिल सकता है। यह आपके विशिष्ट रेपो के साथ समस्या नहीं है, शायद। वह संदेश आपके स्थानीय कंप्यूटर से भी नहीं है - ध्यान दें कि यह "रिमोट" के साथ उपसर्ग है, यह वह रिमोट है जो गायब है rake, इसलिए शायद उस तरफ केवल एक sysadmin समस्या को ठीक कर सकता है।

मैं आपसे संपर्क करने का सुझाव दूंगा जो भी आपके समुदाय git रिपॉजिटरी का प्रबंधन करता है।


ठीक यही मैं सोच रहा था। मेरे git रेपो में कोई भी हुक सक्रिय नहीं है, और अब तक मैंने जो कुछ भी किया है वह त्रुटि को बदलने या नए बनाने के लिए नहीं लगता है। मैं रेपो के मालिक से संपर्क करूंगा और देखूंगा कि उसे समस्या के बारे में कोई जानकारी है या नहीं।
यहोशू स्ट्रॉट

समस्या यह थी कि मैं HTTP पद्धति पर जोर देने की कोशिश कर रहा था, जो उनके गीताबलै पर असमर्थ है। आपको इसके बजाय SSH पर जोर देना होगा, जो शानदार तरीके से काम करता है। मुझे यह कहना है, मुझे उम्मीद नहीं थी कि,
जोशुआ स्ट्रॉट

0

मुझे विश्वास है कि यह आपका मुद्दा है।

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

इस त्रुटि की खोज मैं इस Q & A में SO पर आया, जिसका शीर्षक है: त्रुटि: हुक ने किसी शाखा को धकेलते समय Ref / सिर / external_pub को अपडेट करने से मना कर दिया

ऐसा प्रतीत होता है कि सर्वर पर एक git हुक है जो पुश को अस्वीकार कर रहा है।

अंश

सर्वर-साइड हुक

क्लाइंट-साइड हुक के अलावा, आप अपनी परियोजना के लिए लगभग किसी भी प्रकार की नीति को लागू करने के लिए सिस्टम प्रशासक के रूप में कुछ महत्वपूर्ण सर्वर-साइड हुक का उपयोग कर सकते हैं। ये स्क्रिप्ट सर्वर से पहले और बाद में चलती हैं। पूर्व हुक पुश को अस्वीकार करने के साथ-साथ क्लाइंट को एक त्रुटि संदेश प्रिंट करने के लिए किसी भी समय गैर-शून्य से बाहर निकल सकता है; आप अपनी इच्छा के अनुसार एक जटिल नीति निर्धारित कर सकते हैं।

यह निर्धारित करने के लिए कि आपको यह त्रुटि संदेश क्यों मिल रहा है, आपको यह पता लगाना होगा कि कौन सा हुक आपको ट्रिप कर रहा है। हुक को hooksgit फ़ोल्डर के अंदर फ़ोल्डर में संग्रहीत किया जाता है (दूरस्थ सर्वर अंत पर) - pre-receiveहुक या updateहुक ढूंढें और यह देखने के लिए जांचें कि आपकी समस्या क्या है।


मेरे हुक फ़ोल्डर के अंदर, मेरे पास .sample एक्सटेंशन वाली कई फाइलें हैं। मेरे पास पहले से प्राप्त हुक नहीं है, हालांकि एक अद्यतन हुक है। चूँकि उन सभी के पास .sample विस्तार है, मेरा मानना ​​है कि उनमें से कोई भी उपयोग में नहीं है, इसलिए क्या ऐसा हो सकता है कि यह सर्वर पर एक हुक है जो मुझे अस्वीकार कर रहा है? मैंने ऑनलाइन देखा और मेरी समस्या वाले कुछ लोग हैं जिन्होंने इसे विभिन्न चीजों को करके तय किया है, जिनमें से किसी ने भी इसे मेरे मामले में तय नहीं किया है।
जोशुआ स्ट्रोट

0

जीआईटी रिपॉजिटरी में भूमिका / समूह और अनुमति की जांच करें, केवल रेड अनुमति और जीआईटी रिपॉजिटरी टीम द्वारा प्रदान की गई रीड / राइट एक्सेस के बाद इसका समाधान।


0

@ राधाकृष्णन ने पहले ही सुझाव दिया है, आप एक अनुमति समस्या का सामना कर रहे होंगे।

यदि आप Redmine Git Hosting का उपयोग कर रहे हैं , तो अपने projet अनुमतियाँ प्रबंधक की भूमिका की जाँच करें जो उस उपयोगकर्ता को सौंपा गया है जो उसके / उसके git के ट्रैकिंग संदर्भों को फिर से लिखने की कोशिश कर रहा है।

कृपया ध्यान दें कि मैं मान रहा हूं कि आप अन्य उपयोगकर्ताओं पर git push -force प्रभाव के बारे में जानते हैं जो समान दूरस्थ शाखा साझा कर रहे हैं। अधिक जानकारी के लिए, इस लेख की जाँच करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.