त्रुटि "You need to resolve your current index first" Git में होती है और इसका मतलब है कि एक मर्ज संघर्ष है और जब तक आप संघर्ष को हल नहीं करते, आपको दूसरी ब्रांच में चेकआउट करने की अनुमति नहीं दी जाएगी। यह त्रुटि संदेश यह भी दर्शाता है कि एक मर्ज विफल हुआ है या फाइलों के साथ संघर्ष हैं।

ये सभी फाइलें, मर्ज, और संघर्ष क्या हैं? यदि आप Git का उपयोग करने में शुरुआती हैं तो ये शर्तें आपके लिए अज्ञात होंगी। Git एक संस्करण नियंत्रण प्लेटफॉर्म है जो कई लोगों को फाइलों पर एक साथ काम करने और अपने कोड की स्थानीय प्रति को क्लाउड में संग्रहीत एक प्रति में पुश करने की अनुमति देता है। इस तरह यदि आप कुछ डाउनलोड किए गए (या पहले से पुश किए गए) कोड को बदलते हैं और इसे फिर से क्लाउड में पुश करते हैं, तो परिवर्तनों को आपकी स्थानीय प्रति द्वारा क्लाउड में ओवरराइट कर दिया जाएगा।
Git में ब्रांच की अवधारणा है। एक मास्टर ब्रांच है और कई अन्य ब्रांच इससे निकलती हैं। यह त्रुटि विशेष रूप से तब होती है जब आप एक ब्रांच से दूसरी ब्रांच पर स्विच कर रहे होते हैं (चेकआउट का उपयोग करके) और वर्तमान ब्रांच की फाइलों में संघर्ष होते हैं। यदि वे हल नहीं होते हैं, तो आप ब्रांच स्विच नहीं कर पाएंगे।
Git Error: You need to resolve your current index first के कारण क्या हैं?
जैसा कि पहले उल्लेख किया गया है, इस त्रुटि के कारण काफी सीमित हैं। आप इस त्रुटि का अनुभव करेंगे क्योंकि:
- एक मर्ज विफल हुआ है और आपको अन्य कार्यों के साथ आगे बढ़ने से पहले मर्ज संघर्ष को संबोधित करने की आवश्यकता है।
- आपकी वर्तमान (या लक्षित ब्रांच) की फाइलों में संघर्ष हैं और इन संघर्षों के कारण, आप ब्रांच से चेकआउट नहीं कर पाएंगे या कोड पुश नहीं कर पाएंगे।
समाधान के साथ आगे बढ़ने से पहले, सुनिश्चित करें कि आपके पास उचित संस्करण नियंत्रण है और संघर्ष को हल करने से पहले अन्य टीम सदस्यों को कोड बदलने से रोकना बुद्धिमानी है।
समाधान 1: मर्ज संघर्ष को हल करना
यदि आपका मर्ज Git द्वारा स्वचालित रूप से हल नहीं होता है, तो यह इंडेक्स और वर्किंग ट्री को एक विशेष स्थिति में छोड़ देता है जो आपको मर्ज को हल करने के लिए आवश्यक सभी जानकारी देने में मदद करता है। जिन फाइलों में संघर्ष हैं, उन्हें इंडेक्स में विशेष रूप से चिह्नित किया जाएगा और जब तक आप समस्या को हल नहीं करते और इंडेक्स को अपडेट नहीं करते, आपको यह त्रुटि संदेश मिलता रहेगा।
- सभी संघर्षों को हल करें। उन फाइलों की जांच करें जिनमें संघर्ष हैं क्योंकि वे इंडेक्स द्वारा चिह्नित होंगी और उनमें तदनुसार परिवर्तन करें।
- सभी मौजूदा संघर्षों को हल करने के बाद, फाइल को add करें और फिर commit करें।
एक उदाहरण है:
$ git add file.txt $ git commit
कमिट करते समय आप अपनी व्यक्तिगत टिप्पणी जोड़ सकते हैं। एक उदाहरण है:
$ git commit –m "This is Appuals Git repository"
- संघर्ष को हल करने के बाद, अपनी मौजूदा ब्रांच से चेकआउट करने का प्रयास करें और देखें कि क्या समस्या ठीक हो गई है।
समाधान 2: अपने मर्ज को वापस लेना
ऐसे कई मामले हैं जहां आप ब्रांच मर्ज करते हैं और गड़बड़ कर देते हैं। सभी संघर्षों और भ्रम के कारण, प्रोजेक्ट अब गड़बड़ है और आपके टीम सदस्य इसके लिए आपको दोषी ठहरा रहे हैं। इस मामले में, आपको पिछले कमिट (मर्ज कमिट) को वापस लेना होगा। यह मर्ज को पूरी तरह से पूर्ववत कर देगा और पूरे प्रोजेक्ट को उस स्थिति में वापस लाएगा जब आपने कोई मर्ज नहीं किया था। यह एक लाइफसेवर हो सकता है यदि आपने चीजों को मरम्मत से परे गड़बड़ कर दिया है।
मर्ज को वापस लेने के लिए, निम्न टाइप करें:
$ git reset --merge
उपरोक्त कमांड इंडेक्स को रीसेट करेगा और वर्किंग ट्री में उन फाइलों को अपडेट करेगा जो 'कमिट' और 'हेड' के बीच अलग हैं। हालांकि, यह उन फाइलों को रखेगा जो इंडेक्स और वर्किंग ट्री के बीच अलग हैं।
आप निम्न कमांड का उपयोग करके HEAD को वापस लेने का भी प्रयास कर सकते हैं:
$ git revert HEAD
यदि आप उस सटीक मर्ज कमिट को निर्दिष्ट करना चाहते हैं जिसे आप वापस लेना चाहते हैं, तो आप उसी वापस लेने वाले कमांड का उपयोग कर सकते हैं लेकिन अतिरिक्त पैरामीटर निर्दिष्ट करें। मर्ज कमिट का SHA1 हैश उपयोग किया जाएगा। -m के बाद 1 इंगित करता है कि हम मर्ज के पैरेंट साइड को रखना चाहते हैं (वह ब्रांच जिसमें हम मर्ज कर रहे हैं)। इस वापस लेने का परिणाम यह है कि Git एक नया कमिट बनाएगा जो मर्ज से परिवर्तनों को वापस ले लेता है।
$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>