2011-08-29 10 views
21

किया है, जब मैंने कुछ फाइलें बदल दीं और धक्का देने की कोशिश की तो मुझे 'कुछ रिफ्रेश करने में असफल रहा' त्रुटि प्राप्त हुई। अधिकांश निर्देश पहले गिट खींचने के लिए कहते हैं। मैंने यह किया है और गिट कहता है कि सबकुछ अद्यतित है। कोई भी विचार त्रुटि को हल करने के लिए कैसे? मैंने 'कोई संस्करण जानकारी उपलब्ध नहीं' संदेश भी शुरू करना शुरू किया, मुझे नहीं पता कि त्रुटि के साथ कुछ भी करना है।गिट: कुछ रेफरी को धक्का देने में असफल रहा, हालांकि मैंने गिट पुल

git push origin master 
git: /usr/local/lib/libz.so.1: no version information available (required by git) 
Enter passphrase for key '/root/.ssh/id_rsa': 
To [email protected][mydomain].beanstalkapp.com:/repo-git.git 
! [rejected]  master -> master (non-fast forward) 
error: failed to push some refs to '[email protected][mydomain].beanstalkapp.com:/repo-git.git' 
+0

यदि आप किसी अन्य में भंडार क्लोन क्या होता है की कोशिश स्थान और tr y पर धक्का देने के लिए? – Intrepidd

उत्तर

32

त्रुटि है कि किसी और master शाखा में धक्का दे दिया गया है और आप अपने परिवर्तन के ऊपर लिख होगा अगर git आप पुश करने के लिए अनुमति दी है (यह क्या non-fast forward त्रुटि का अर्थ है)। तो आपको दूरस्थ master शाखा के साथ अपनी स्थानीय master शाखा को मर्ज करने की आवश्यकता है।

ऐसा हो सकता है यदि आपने git pull किया था जबकि स्थानीय शाखा master शाखा नहीं थी। आप केवल शाखा पर आप काम कर रहे हैं और नहीं master शाखा पुश करने के लिए चाहते हैं, आप git-push की पूरी फ़ॉर्म का उपयोग करके git को यह बताने की आवश्यकता:

$ git push remote local-branch:remote-branch 
+0

मैं दूरस्थ मास्टर शाखा के साथ स्थानीय मास्टर शाखा कैसे विलय करूं? वैसे भी मैंने गिट शाखा के साथ देखा कि मैं (शाखा नहीं) नामक शाखा का उपयोग कर रहा था। मैंने चेकआउट मास्टर किया था और अब मैं पुश/पुल कर सकता हूं – jjei

+1

जब आप 'गिट पुल' करते हैं, तो यह 'गिट फ़ेच' होता है जिसके बाद 'शाखा गर्ज' होता है जिसके बाद वर्तमान शाखा ट्रैकिंग शाखा है। आप 'गिट मर्ज मास्टर' के साथ मैन्युअल विलय कर सकते हैं। –

1

की पुष्टि है कि पुल वास्तव में काम किया सुनिश्चित करें। यह संभव है कि विलय (जो पुल का हिस्सा है) असफल रहा।

जब मुझे यह त्रुटि संदेश मिला तो मैं असफल होने में विफल रहा। पुल कुछ असामान्य फ़ाइल परिवर्तनों के कारण असफल रहा (उन फ़ाइलों से असंबंधित जो मैं धक्का देने की कोशिश कर रहा था) जिससे विलय विफल हो गया। मैंने उन फाइल परिवर्तनों को वापस कर दिया (क्योंकि वे महत्वपूर्ण नहीं थे) और फिर एक पुल फिर से किया। सफल खींचने के बाद, धक्का काम किया।

5

सर्वोत्तम संभव जवाब Git मदद पर है here

गैर तेजी से आगे त्रुटियों

समय-समय पर साथ काम लेंगे, तो आप GitHub के लिए प्रतिबद्ध (git push origin master) धक्का इस त्रुटि का सामना करना हो सकता है:

To https://github.com/user/repo.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to 'https://github.com/user/repo.git' 
To prevent you from losing history, non-fast-forward updates were rejected 
Merge the remote changes (e.g. 'git pull') before pushing again. 
See the 'Note about fast-forwards' section of 'git push --help' for details. 

यह त्रुटि पहले थोड़ी भारी हो सकती है; डरो मत!

बस शब्दों में कहें, गिट रिमोट पर बदलाव खोने के बिना बदलाव नहीं कर सकता है, इसलिए यह पुश से इंकार कर देता है। आमतौर पर, यह एक ही उपयोगकर्ता को उसी शाखा में धक्का देने के कारण होता है।

git fetch origin 
git merge origin master 

या, आप बस एक बार में दोनों आदेशों प्रदर्शन करने के लिए Git पुल का उपयोग कर सकते हैं::

आप प्राप्त करने में कठिनाई और दूरदराज के शाखा विलय करके इसका प्रतिकार कर सकते हैं कुछ मामलों में

git pull origin master 

, इस त्रुटि git commit --amend या git rebase जैसे आदेशों का उपयोग करके स्थानीय रूप से किए गए विनाशकारी परिवर्तनों का परिणाम है। जबकि आप पुश कमांड में --force जोड़कर रिमोट को ओवरराइड कर सकते हैं, आपको केवल इतना करना चाहिए यदि आप बिल्कुल निश्चित हैं कि आप यही करना चाहते हैं। फोर्स-पुश अन्य उपयोगकर्ताओं के लिए समस्याएं पैदा कर सकता है जिन्होंने रिमोट शाखा लाई है, और इसे खराब अभ्यास माना जाता है। संदेह में, बल-धक्का मत करो।

+0

विलय: उत्पत्ति - कुछ नहीं जो हम – Makalele

1

इसके अलावा, त्रुटि तब होती है जब आप गलत शाखा नाम को अपने पुश कमांड में डालते हैं।

उदाहरण के लिए, कहें कि आप iss8 नामक शाखा पर हैं, लेकिन आप iss3 (जैसे मैंने अभी किया) पर धक्का देने के लिए गिट को बताएं, आपको वही त्रुटि मिल जाएगी।

$ git push origin iss3 
error: src refspec iss3 does not match any. 
error: failed to push some refs to '[email protected]:myuser/myproject.git' 

हम्म, जाँच की स्थिति:

$ git status 
On branch iss8 
nothing to commit, working directory clean 

ओह, देखो, मैं एक अलग शाखा पर हूँ। मुझे वास्तव में गूंगा कुछ करने की अनुमति देने के लिए धन्यवाद गिट।

$ git push origin iss8 
Counting objects: 15, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (9/9), done. 
Writing objects: 100% (9/9), 2.62 KiB | 0 bytes/s, done. 
Total 9 (delta 3), reused 0 (delta 0) 
To [email protected]:myuser/myproject.git 
* [new branch]  iss8 -> iss8 
2

सुनिश्चित करें कि आपकी शाखा असुरक्षित है, या डेवलपर पुश कर सकता है।

+3

मर्ज कर सकते हैं यह एक टिप्पणी नहीं है – STF

0
1) git stash 
2) git pull 
3) git push 

मेरे मूल त्रुटि:

enter image description here

के बाद "git छिपाने की जगह"

enter image description here

संबंधित मुद्दे