फ़ाइल के अपने मर्ज का समापन कैसे करें?


103

Git में फ़ाइल मर्ज करने के बाद मैंने रिपॉजिटरी खींचने की कोशिश की, लेकिन त्रुटि सामने आई:

आपने अपना मर्ज समाप्त नहीं किया है। (MERGE_HEAD मौजूद है)

एक मर्ज का समापन कैसे होता है?

जवाबों:


94

git statusअपनी रिपॉजिटरी की स्थिति ( ) देखें । प्रत्येक अनमर्ज़ की गई फ़ाइल (आपके द्वारा स्वयं के विरोध के बाद) को जोड़ा जाना चाहिए git add)git commit


11
लेकिन क्या होगा अगर सब कुछ प्रतिबद्ध है ( git statusएक साफ काम करने वाला डायर दिखाता है) और उपरोक्त त्रुटि अभी भी होती है?
मारियस साउतियर

1
@ मार्स सुनिश्चित करें कि आप मानक चलाते हैं git statusन कि कुछ अन्य उपनाम जो किसी संदेश को फ़िल्टर करते हैं। वर्तमान संस्करण में, जब आप गिट की स्थिति चलाते हैं, तो यह आपको संदेश दिखाता है कि आपको "मर्ज समाप्त" करने के लिए क्या करना चाहिए। और अगर आपको पूरा यकीन है कि आपके पास सब कुछ मर्ज हो गया है और आप कुछ भी ढीला नहीं करेंगे, तो आप बस .git / MERGE * में फ़ाइलों को हटा सकते हैं, जो आपने मर्ज करने की कोशिश की है, और उस मर्ज के लिए डिफ़ॉल्ट कमिट मैसेज
MBO

1
धन्यवाद, यही मैंने अंततः किया, लेकिन किसी भी तरह, यह छोटी गाड़ी लगती है। यदि आपने सब कुछ मर्ज कर दिया है तो MERGE_HEAD कैसे मौजूद हो सकता है?
मारियस साउतियर

2
हां, मेरे पास सिर्फ यही मुद्दा था कि मैरियस, एक मर्ज किया था, संघर्षों को हल किया, लेकिन अब (किसी तरह) कुछ भी करने के लिए नहीं। सुझाव के अनुसार MERGE * फ़ाइलों को मैन्युअल रूप से हटाना पड़ा।
साइमन ईस्ट

@ जोहंडपॉप शक्ति ("tnx", 100)
knagode

31

नोट और अपडेट करें:

Git1.7.4 (जनवरी 2011) के बाद से , आपके पास git merge --abort" git reset --merge" का पर्यायवाची है जब मर्ज जारी है।

लेकिन यदि आप मर्ज को पूरा करना चाहते हैं, जबकि किसी तरह कुछ भी नहीं जोड़ा जाना है, तो rm -rf .git/MERGE*गिट के लिए एक क्रेट पर्याप्त हो सकता है ताकि वर्तमान मर्ज के बारे में भूल सकें।


यदि आप MERGE_HEAD को हटाते हैं, तो परिणामी प्रतिबद्ध में केवल एक माता-पिता नहीं होंगे, ताकि आपके पास मर्ज की गई शाखा का इतिहास न हो?
जेसन गोएमाट

@JasonGoemaat यह मानते हुए कि हम मर्ज को खत्म करने की कोशिश कर रहे हैं, वैसे भी "परिणामी प्रतिबद्धता" नहीं होगी।
VonC

20

इसका सबसे आसान समाधान मुझे मिला:

git commit -m "fixing merge conflicts"
git push

वास्तव में मेरे लिए -m ने काम नहीं किया, यह बिना -m के काम करता है।
अलेक्जेंडर पविओक


क्या आप बता सकते हैं कि यह क्या कर रहा है?
बिलाल बेगेरदज

-m केवल एक संदेश शामिल करने के लिए झंडा है
atamata

1

यदि आप SourceTree में इस त्रुटि का सामना करते हैं, तो कार्रवाई पर जाएँ> विरोधों का समाधान करें> मर्ज को पुनः आरंभ करें।

SourceTree वर्जन का इस्तेमाल 1.6.14.0 है


0

मेरे पास एक ही त्रुटि थी और मैंने Google पर पाया गया लेख का अनुसरण किया जो मेरे मुद्दे को हल करता है। आपने अपना मर्ज समाप्त नहीं किया है


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