git - गिट पुल त्रुटि: त्रुटि: रिमोट रेफ पर उम्मीद है लेकिन उम्मीद है




pull git-pull (7)

पूरा संदेश:

error: Ref refs/remotes/origin/user is at 3636498c2ea7735fdcedc9af5ab3c8689e6abe77 but expected a21359c6cc2097c85775cde6a40105f4bd7100ec
From github.com:{github project url}
 ! a21359c..6273ffc  user -> origin/user  (unable to update local ref)

स्थायी फिक्स

git update-ref -d ने इस त्रुटि के मेरे उदाहरण को हल किया, उदाहरण के लिए

git update-ref -d refs/remotes/origin/user

ध्यान दें कि यह रिमोट को प्रभावित नहीं करता है।

मेरे मामले में, बाद में git fetch ने उस शाखा को फिर से लाया, और गिट फ़ेच / पुल के बाद अब त्रुटि "रिमोट रेफ पर अपेक्षित है"।

यदि यह काम नहीं करता है, तो एक अस्थायी फिक्स:

ध्यान दें कि यदि आपको प्रश्न में शाखा की परवाह नहीं है (उदाहरण के लिए आप केवल मास्टर को अपडेट करना चाहते हैं, मूल / उपयोगकर्ता नहीं), तो एक git pull वर्कअराउंड लाने के लिए है, तो बस उस विशेष शाखा को मर्ज करें जिसे आप पसंद करते हैं, उदाहरण के लिए

git fetch # may give an error for a particular branch, but other branches will still be successfully fetched
git merge origin/master

एक हार्ड रीसेट समस्या को भी हल करेगा

git reset --hard origin/master

गिट फॉर-प्रत्येक-रेफ --format = 'डिलीट% (refname)' refs / original | गिट अपडेट-रेफ - स्टडिन गिट रीफ्लॉग समाप्त हो गया - एक्सपीयर = अब - सभी गिट जीसी - प्रो्यून = अब


बस ".git \ refs \ remotes \ origin" के अंतर्गत फ़ोल्डर और फ़ाइलों को हटाएं। काम करता है जब आपके पास अप्रचलित परिवर्तन नहीं होते हैं


मैंने समस्या को हल करने के लिए यह भाग लिया:

git gc --prune=now

यदि आप किसी फ़ाइल सिस्टम के तहत गिट चला रहे हैं जो केस संवेदनशील नहीं है (विंडोज या ओएस एक्स) यह तब होगा जब एक ही नाम वाली दो शाखाएं हों लेकिन अलग-अलग पूंजीकरण, जैसे user_model_changes और User_model_changes दोनों दूरस्थ शाखाएं User_model_changes ट्रैकिंग रेफरी

गलत रिमोट शाखा हटाएं (आपको ऐसी शाखाएं नहीं होनी चाहिए जो केवल मामले से अलग हों) और फिर git remote prune origin और सब कुछ काम करना चाहिए


स्पष्ट कदम

  1. टर्मिनल में

    cd /.git/refs/remotes/origin
    
  2. ls , आप कुछ शाखाएं और सिर देखेंगे

  3. उस शाखा को हटा दें जो आपको लगता है कि समस्या है

    rm branchname
    
  4. अगर यह काम नहीं करता है, तो सभी शाखाओं / हेड हटाएं

    • आप वाना खींच सकते हैं

उम्मीद है कि यह अब काम करता है।





git-pull