2012-10-07 17 views
99

मैं Dropbox उपयोग कर रहा हूँ एक git भंडार सिंक करने के लिए है, लेकिन अब जब मैं कोशिश करते हैं और push मैं एक त्रुटि हो रही है:Git घातक: संदर्भ अवैध प्रारूप है: 'refs/सिर/मास्टर

fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)' 

इसलिए, यह ऐसा लगता है कि ड्रॉपबॉक्स ने एक संघर्ष का पता लगाया और एक प्रति बनाया। ठीक है, कोई समस्या नहीं है, इसलिए मैंने विवादित फ़ाइल को हटा दिया। फिर भी, ऊपर गिट त्रुटि हालांकि हो रही है।

$ git checkout master 
    M index.html 
    Already on 'master' 
$ git add . 
$ git commit -a -m "Cleanup repo" 
    [master ff6f817] Cleanup repo 
    1 file changed, 5 insertions(+), 5 deletions(-) 
$ git push 
    fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)' 
    The remote end hung up unexpectedly` 

मैं इसे कैसे ठीक कर सकता हूं? धन्यवाद।

उत्तर

0

स्वस्थ, अच्छी तरह से नामित शाखा पर जाने के लिए पहले git checkout master आज़माएं।

+0

मूल पोस्ट में अपडेट किया गया आउटपुट। – Justin

+0

एचएम, क्या आप एक पूर्ण 'गिट पुश मूल मास्टर' का प्रयास कर सकते हैं, और कृपया 'गिट शाखा-ए' के ​​आउटपुट को भी पेस्ट कर सकते हैं? – poke

+0

यहां वही त्रुटि ... इस गलती में 'गिट शाखा-ए' परिणाम का प्रयास कर रहा है! – trusktr

42

विरोध हुआ फ़ाइल को कई जगहों पर हो सकता है, मैं इस पर गौर करेंगे:

.git/logs/refs/remotes/origin/ 
.git/logs/refs/heads/ 
.git/refs/remotes/origin/ 
.git/refs/heads/ 

या आप हर जगह .git उपनिर्देशिका में दिख सकता है: find . -name '*conflicted*'

या, अन्यथा, git branch -a के साथ सक्रिय शाखाओं की सूची और हटाएं (git branch -d) कुछ भी संदिग्ध।

+0

'.git' के अंदर हर जगह विवादित फ़ाइलें हैं। मैं उन सभी के माध्यम से चला गया और हटा दिया, और इसके तय। धन्यवाद। – Justin

+2

@ जस्टिन ग्लेड मैं मदद कर सकता था। अगर यह उत्तर या कोई अन्य व्यक्ति आपकी समस्या का समाधान करता है, तो कृपया इसे स्वीकार के रूप में चिह्नित करें। –

+2

मैक ओएस एक्स पर उपयोग करें: 'ढूंढें। -नाम '* विवादित *' '(संपादित करें: प्रारूप) – xgMz

7

मैं अपने .git फ़ोल्डर से सभी विवादित फ़ाइलों को हटाने में सक्षम था, लेकिन मुझे उन फ़ाइलों के बारे में त्रुटियां मिलती रहीं जो अब मौजूद नहीं थीं।

मेरे लिए फिक्स .git/refs/packed_refs खोल रहा था और "विरोधाभासी" पाठ वाली पंक्तियों को हटा रहा था।

177

यदि आप इस बारे में निश्चित नहीं हैं, तो आपके रेपो का बैकअप लें, क्योंकि ये आदेश अपरिवर्तनीय हैं।

पहले, अपनी रिपोज निर्देशिका पर जाएं।

cd myrepo 

तो रिकर्सिवली विरोध हुआ फ़ाइलों के लिए खोज और उन्हें

find . -type f -name "* conflicted copy*" -exec rm -f {} \; 

हटाना अंत में, Git के पैक-refs फ़ाइल

awk '!/conflicted/' .git/packed-refs > temp && mv temp .git/packed-refs 
+1

मेरे पास एक ही समस्या थी और यह मेरे लिए तय है। धन्यवाद! – erik

+0

यह मेरे लिए भी तय किया गया। धन्यवाद! मैकोज़ उपयोगकर्ताओं के खोजने के लिए – cecconeurale

+0

। -type f -name "* विवादित प्रति *" -delete' – Soyoes

8

यह भी वहां से किसी भी "विरोध हुआ" संदर्भ निकाल हमारे टीम जब मेरे सहयोगी ने अपने बदलावों को धक्का दिया और ड्रॉपबॉक्स को अद्यतन करने से पहले पीसी बंद कर दिया।

मैंने इसे इतना हल किया।

अभी विवादित प्रति हटा दी गई है। (XXXX की विवादित प्रति yyyy-mm-dd)

और इसे सामान्य रूप से खींचें।

ध्यान दें कि मेरे सहयोगी को गड़बड़ होने से पहले बदलाव हुए थे। और उसने फिर से अपने बदलावों को धक्का दिया। इस बार कोई शटडाउन नहीं।:)

+1

मेरे लिए बिल्कुल सही काम किया :) thx - मेरे लिए ड्रॉपबॉक्स ने कुछ अजीब स्ट्रिंग फ़ाइल नाम बनाया जो – cV2

+1

"अपडेट" करने के लिए संगत नहीं था यह मेरे लिए काम करता था!/Refs/head फ़ोल्डर में नाम में "विवादित प्रति" वाली एक फ़ाइल थी और उसे हटाकर, फिर खींचें/पुश करें और सब ठीक है। धन्यवाद! – DiscDev

0

मैं निम्न आदेश

git branch 

के लिए एक ही त्रुटि

fatal: Reference has invalid format: 'refs/heads/somebranch (1)'

हो रही थी तो फिर, मैं गलत नाम के लिए खोज (शाखा नाम और उसके बाद (1)) आदेश

का उपयोग कर
find . -name 'somebranch (1)' 

और यह निम्नलिखित परिणाम

दिखाया गया

./.git/refs/heads/somebranch (1)

कुछ डुप्लिकेट संस्करण कुछब्रैंच आईएमओ है। तो, मैं द्वारा निम्नलिखित खोजने कमांड को क्रियान्वित इस हटाया हटाना

find . -name 'somebranch (1)' -print -exec rm -rf {} \; 

फिर शाखा आदेश रन सफलतापूर्वक

git branch 
0

मेरे लिए यह दे रहा था त्रुटि: fatal: Reference has invalid format: 'refs/tags/r0.2:3'

आप कर सकते हैं /.git/packed_refs फ़ाइल पर जाएं और refs/tags/r0.2:3

0 के लिए लाइन हटाएं

फिर यह काम करना शुरू कर दिया। लेकिन ऐसा क्यों हुआ जब मुझे पता नहीं था।

0

मैं इसी तरह की त्रुटि encounterd जैसे

fatal: Reference has invalid format: 'refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)' 

आप दूरस्थ ड्रॉपबॉक्स भंडार में फ़ाइल .git/refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08) का विलोपन समस्या का समाधान नहीं किया।

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