दूरस्थ से पुल खींचो, लेकिन ऐसा कोई रेफरी नहीं मिला?


69

मेरी डिस्क पर एक git दर्पण है और जब मैं git पुल के साथ अपने रेपो को अपडेट करना चाहता हूं तो यह मुझे त्रुटि संदेश देता है:

 Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched.

यह मुझे भी देता है:

  1ce6dac..a5ab7de  3.4/bfq    -> origin/3.4/bfq
  fa52ab1..f5d387e  3.4/master -> origin/3.4/master
  398cc33..1c3000a  3.4/upstream-updates -> origin/3.4/upstream-updates
  d01630e..6b612f7  3.7/master -> origin/3.7/master
  491e78a..f49f47f  3.7/misc   -> origin/3.7/misc
  5b7be63..356d8c6  3.7/upstream-updates -> origin/3.7/upstream-updates
  636753a..027c1f3  3.8/master -> origin/3.8/master
  b8e524c..cfcf7b5  3.8/misc   -> origin/3.8/misc
  * [neuer Zweig]     3.8/upstream-updates -> origin/3.8/upstream-updates

जब मैं मेनुकोनफिग बनाता हूं तो यह मुझे लिनक्स संस्करण 3.5.7 देता है? इसका क्या मतलब है? मैं अपने रेपो को कैसे अपडेट कर सकता हूं?

जवाबों:


58

उस शाखा की जाँच करें जिस पर आप हैं ( git branch), उस शाखा के लिए कॉन्फ़िगरेशन की जाँच करें (में .../.git/config), आप शायद गलत शाखा पर हैं या आपका कॉन्फ़िगरेशन इसके लिए एक (अब?) गैर-मौजूद दूरस्थ शाखा के साथ विलय करने के लिए कहता है।


22
अपने स्थानीय रिपॉजिटरी में गैर-मौजूद दूरस्थ शाखा संदर्भों को हटाने के लिए उपयोग करें git remote prune origin
jevon

7
एक अन्य तरीका है एक शाखा के लिए "विन्यास की जाँच" के लिए है: git branch -vv। यह शाखा के संबद्ध "रिमोट" को प्रदर्शित करता है।
ऑफबी 1

28

मेरे मामले में, मेरी स्थानीय शाखा को दूरस्थ शाखा को ट्रैक करने के लिए सेट नहीं किया गया था। मुझे मैन्युअल रूप से चलना था:

git pull origin remotebranch

फिर अगली बार जब आप सही ट्रैकिंग सेट करने के लिए एक पुश डू "गिट पुश -यू" करते हैं।


जब आप पहली बार खाली रेपो का क्लोन बनाते हैं तो उसी का उपयोग किया जाता हैgit init --bare
Cyclonecode

10

मेरे मामले में, मेरी स्थानीय शाखा और दूरस्थ शाखा का अलग-अलग पूंजीकरण था।

इसे हल करने के लिए मैंने अपनी स्थानीय शाखा को हटा दिया $ git branch -d branch-name, फिर रिमोट शाखा का उपयोग करके फिर से जाँच की $ git fetchऔर $ git checkout Branch-name


यह साफ, सरल और ठीक काम कर रहा है। धन्यवाद।
बालासुब्रमणि M

मुझे यह त्रुटि cmd लाइन में मिली। SmartGit को एक रिबेस के साथ ट्राय किया और इसे पास्ट किया।
पी। ब्रायन। मैके

डिलीट ब्रांच और री-चेकआउट ब्रांच के बजाय हर बार एक बार ऐसा करें: अपने /.git/config में सही कैपिटलाइज़ेशन
wz366

2

यह संभव है कि आपकी टीम के किसी अन्य व्यक्ति ने आपकी शाखा को विलय कर दिया हो और उसे हटा दिया हो (आमतौर पर विलय के बाद)। आप रेपो पर शाखा बना सकते हैं और फिर से कोशिश कर सकते हैं। यह मेरी कंपनी में हर एक बार एक समय में होता है (बिटबकेट विलय और हटाने के लिए चूक)।


1

मेरे मामले में (सामान्य कैविएट), मेरे पास पहले से ही उपयुक्त नाम की एक शाखा थी, इसलिए मुझे केवल remote = originIOG.IT / API को जोड़ना था :

[branch "sparql"]
    merge = refs/heads/sparql
    remote = origin # <-- added


1

डिस्क स्थान से बाहर निकलते समय भी मेरी यही त्रुटि थी। वॉल्यूम को आकार देने के बाद, त्रुटि चली गई थी।


0

मुझे यह समस्या एक केसिंग समस्या के कारण मिली जो कि विंडोज़ पर स्वयं प्रकट होती है।

मेरा जीआईटी विन्यास जैसा दिखता था:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/Bug/some_branch

सर्वर पर, "बग" और "बग" दोनों कई शाखाओं के हिस्से के रूप में मौजूद थे। विंडोज केवल एक समय में इनमें से किसी एक को पकड़ सकता है, हालांकि फाइल सिस्टम मैपिंग के कारण। इसलिए, मैंने सर्वर संस्करण से मिलान करने के लिए मैन्युअल रूप से अपने कॉन्फ़िगरेशन को अपडेट किया, जो वास्तव में पुल समस्या को हल करता है:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/bug/some_branch

0

यदि शाखा चली गई है,

$ git status
On branch blah_gone_now
Your branch is based on 'origin/1234/blah_gone_now', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

$ git branch --unset-upstream

फिर चेकआउट मास्टर या जो भी आपको चाहिए

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