संभवतः git डेवलपमेंट हब का उपयोग करते समय सामान्य मर्ज करने के बाद कमिट मैसेज में फंसने पर मिलने वाले सबसे शर्मनाक त्रुटि संदेशों में से एक है। आप एक लाइन देख सकते हैं जो आपको इस मर्ज की आवश्यकता क्यों है यह समझाने के लिए कमिट मैसेज दर्ज करने का निर्देश देती है, लेकिन यदि आप वहां कुछ भी लिखते हैं तो यह आपको बाहर निकलने की अनुमति नहीं देता। इसका कारण इतना शर्मनाक है क्योंकि यह बिल्कुल भी त्रुटि संदेश नहीं है।
प्रॉम्प्ट वास्तव में उन मनुष्यों के लिए है जिन्हें git मर्ज संपादित करना होता है, और आपके द्वारा जोड़ा गया कोई भी टेक्स्ट केवल अन्य डेवलपर्स के लिए एक नोटिस है जो देख रहे होंगे कि आपने क्या लिखा। आपको संपादक से उसी तरह बाहर निकलना होगा जैसे आप मानक टर्मिनल स्क्रीन से इसका उपयोग कर रहे थे।
कमिट मैसेज मांगने वाले git मर्ज से बाहर निकलें
आम तौर पर, आप इसे देखेंगे यदि आपने अलग दस्तावेज़ के हिस्से के रूप में git पर सामान्य मर्ज किया है। कभी-कभी आप कोड के एक ब्लॉक के बाद इस प्रॉम्प्ट को प्राप्त कर सकते हैं जब आप एक अपडेटेड अपस्ट्रीम को उसके अपने टॉपिक ब्रांच में मर्ज करते हैं। git का कोई भी दस्तावेज़ यह नहीं बताता कि जब आप इस तक पहुंचते हैं तो क्या करना है क्योंकि यह वास्तव में एक प्रॉम्प्ट नहीं है।
इस संदेश की दोनों लाइनें # प्रतीक से शुरू होती हैं, जिसका अर्थ है कि वे टिप्पणियां हैं। चूंकि git नहीं जानता कि किसी प्रोजेक्ट पर कितने डेवलपर काम कर रहे हैं, इसलिए यह जोड़ा जाता है ताकि आप अन्य लोगों को संदेश छोड़ सकें कि आपने अपस्ट्रीम को टॉपिक ब्रांच में क्यों मर्ज किया। हालांकि, आपको यह जानना होगा कि आप किस संपादक का उपयोग कर रहे हैं ताकि आप इससे बाहर निकल सकें।
अधिकांश मामलों में, आप vi या vim संपादक का उपयोग कर रहे हैं। Esc कुंजी दबाएं फिर :wq टाइप करें और एंटर दबाकर बाहर निकलें। यह वही तरीका है जिससे आप किसी अन्य अवसर पर vim से बाहर निकलेंगे। यह फ़ाइल को सेव करता है और फिर बाहर निकलता है, जो आपको सीधे git से बाहर ले जाएगा।
ऐसे किसी भी संकेत पर ध्यान दें जो आपको यह जानने में मदद कर सके कि आप किस संपादक का उपयोग कर रहे हैं। हमारे उदाहरण स्क्रीनशॉट में, एक फ़ाइल में डाले जाने वाली नई लाइनों को दिखाने वाले अतिरिक्त टिल्ड वर्ण एक स्पष्ट संकेत थे कि git प्लेटफॉर्म ने हमें vim में डाल दिया। तो फिर, यदि आप यह नहीं समझ पा रहे हैं कि आप किस संपादक का उपयोग कर रहे हैं, तो Esc दबाएं और :wq कमांड का उपयोग करें क्योंकि vi और vim इस बिंदु पर लगभग सार्वभौमिक हैं इसलिए आप पाएंगे कि यह आमतौर पर आपको बाहर निकाल देगा।
दूसरी ओर, यदि आप नैनो का उपयोग कर रहे थे तो बस Ctrl+X दबाएं और जब पूछा जाए कि क्या परिवर्तनों को सेव करना है तो y टाइप करें। जैसे ही आप एंटर दबाएंगे, आप git से बाहर निकल जाएंगे और जहां आप पहले थे वहां वापस आ जाएंगे। आप आमतौर पर टर्मिनल के शीर्ष पर एक लाइन देखेंगे जो इन मामलों में "GNU nano" पढ़ती है। यदि नहीं, तो विंडो के नीचे कई कीबोर्ड शॉर्टकट देखें।
यदि आप पाते हैं कि इनमें से कोई भी विधि काम नहीं करती है, तो Ctrl+X के बाद Ctrl+C दबाकर बाहर निकलें। इससे आपको git से बाहर निकलना चाहिए यदि आप emacs संपादक का उपयोग कर रहे थे तो यह एक असामान्य परिस्थिति है। अधिकांश मामलों में, Esc के बाद :wq काम करना चाहिए और Ctrl+X के बाद y उन मामलों में काम करना चाहिए जहां वह नहीं करता। आप Ctrl+X के बाद Ctrl+C का उपयोग केवल तभी करना चाहेंगे जब आप या तो जानते हैं कि आप emacs में हैं या यदि ये दो विधियां काम नहीं करती हैं। यदि आप अपने git टर्मिनल पर JOE संपादक का उपयोग कर रहे हैं तो Ctrl+C भी काम करना चाहिए, यद्यपि बिना सेव किए।
एक बार जब आप बाहर निकल जाते हैं और प्रॉम्प्ट पर वापस आ जाते हैं, तो टर्मिनल पर cat ~/.gitconfig | grep editor टाइप करें ताकि यह पता लगाया जा सके कि आप किस संपादक में फंसे थे। आपको एक लाइन वापस मिलेगी जो कुछ इस तरह पढ़ती है editor = vim, जो git द्वारा डिफ़ॉल्ट रूप से उपयोग किए जाने वाले संपादक का नाम होगा। भविष्य में, यदि सामान्य git मर्ज के बाद आप फिर से "Please enter a commit message to explain why this merge is necessary" लाइन देखते हैं तो आप उस संपादक से बाहर निकलने के लिए मानक विधि का उपयोग कर सकते हैं।
आप फ़ाइल को संपादित भी करना चाह सकते हैं, अपने पसंदीदा किसी भी टेक्स्ट एडिटर के साथ, और संपादक को जो भी आप पसंद करते हैं उसमें बदल सकते हैं। नीचे स्क्रॉल करें जहां यह [core] पढ़ता है और फिर उस लाइन को बदलें जो "editor = vim" पढ़ती है उसे जो भी आप चाहें पढ़ने के लिए। उदाहरण के लिए, आप इसे "editor = nano" पढ़ना चाह सकते हैं यदि आप कोडिंग के लिए नैनो संपादक का उपयोग करना पसंद करते हैं।
लेखक के बारे में

केविन एरोज
केविन एरोज एक अत्यधिक अनुभवी और जानकार प्रौद्योगिकी विशेषज्ञ हैं जिनके पास एक दशक से अधिक का उद्योग अनुभव है। उनके पास माइक्रोसॉफ्ट सर्टिफाइड टेक्नोलॉजी स्पेशलिस्ट (MCTS) प्रमाणन है और नवीनतम तकनीकी विकास पर अपडेट रहने का गहरा जुनून है। केविन ने तकनीक से संबंधित विषयों की एक विस्तृत श्रृंखला पर व्यापक रूप से लिखा है, जिसमें सॉफ्टवेयर विकास, साइबर सुरक्षा और क्लाउड कंप्यूटिंग जैसे क्षेत्रों में उनकी विशेषज्ञता और ज्ञान प्रदर्शित होता है। तकनीकी क्षेत्र में उनके योगदान को उनके साथियों द्वारा व्यापक रूप से मान्यता प्राप्त और सम्मानित किया गया है, और उन्हें जटिल तकनीकी अवधारणाओं को स्पष्ट और संक्षिप्त तरीके से समझाने की उनकी क्षमता के लिए उच्च माना जाता है।