Git में प्रवेश करने में समस्याएँ Vim के साथ संदेश देती हैं


146

ओएस: विंडोज

मैं लिखता हूँ

$ git commit

फिर

# "कृपया संदेश दर्ज करें"

मैं कुछ पाठ लिखता हूं, जैसे

"औपचारिक सत्यापन जोड़ा गया"

Enter दबाएँ और कमिट नहीं किया गया है। फिर मैं Shift + Enter, Ctrl + Enter, Alt + Enter दबाएं - फिर भी कमिट नहीं किया गया।

मुझे लगता है कि यह बेवकूफ मुसीबत है, लेकिन मुझे क्या करना चाहिए?


कोई दिक्कत नहीं है। लेकिन आपके सवाल पर शायद सुपर यूजर पर बेहतर ध्यान दिया जाएगा, जो इस तरह के गैर-प्रोग्रामिंग प्रश्न के लिए अधिक विषय पर है: superuser.com/questions/tagged/git
bzlm

जवाबों:


232

यदि यह Windows के लिए VIM है, तो आप निम्न कार्य कर सकते हैं:

  • प्रस्तुत दिशा-निर्देशों के बाद अपना संदेश दर्ज करें
  • Escयह सुनिश्चित करने के लिए दबाएँ कि आप इन्सर्ट मोड से बाहर हैं
  • फिर टाइप करें :wqEnterया ZZ

ध्यान दें कि VIM में अक्सर एक काम करने के कई तरीके होते हैं। हालांकि इसमें थोड़ा अंतर है।:wqEnterहमेशा यह बंद हो रहा है, जबकि इससे पहले कि वर्तमान फ़ाइल लिखते हैं ZZ, :xEnter, :xiEnter, :xitEnter, :exiEnterऔर :exitEnterकेवल इसे लिखने अगर दस्तावेज़ है संशोधित
इन सभी पर्यायवाची शब्दों की बस अलग-अलग संख्याएँ हैं।



1
जब मैं प्रवेश करता :wqहूं तो मुझे निम्न संदेश दिखाई देता है, ".ITIT / COMMIT_EDITMSG" 54L, 2316C खाली प्रतिबद्ध संदेश के कारण गर्भपात की प्रतिबद्धता लिखी है।
kanna

सुनिश्चित करें कि आपने एक संदेश जोड़ा है। जब आपसे "मेरा संदेश यहां" जैसा कुछ टाइप किया जाता है, तो (आप इनरिनर मोड में चले जाएंगे - मुझे लगता है, इसे छोड़ने के लिए esc दबाएं)। एक बार जब आप काम कर लेते हैं, और सम्मिलित मोड से बाहर हो जाते हैं, तो 'ZZ' टाइप करें (कैपिटल ZZ)
Kpmurphy91

22
क्यों, कौन इसके साथ आया? : wq दर्ज करें या ZZ पागल लगता है।
डेजमैन

1
iसंदेश पाठ सम्मिलित करने के लिए कमांड बेहद मददगार थी। उस एक के लिए @Mat Greer को धन्यवाद। यह जवाब बाकी चरणों के लिए अच्छा था।
ps2goat 21

47

मैं मान रहा हूं कि आप msys git का उपयोग कर रहे हैं। यदि आप हैं, तो संपादक जो आपके प्रतिबद्ध संदेश को लिखने के लिए पॉप अप कर रहा है, वह है। विम पहले के अनुकूल नहीं है। आप किसी भिन्न संपादक पर स्विच करना पसंद कर सकते हैं। यदि आप एक अलग संपादक का उपयोग करना चाहते हैं, तो इस उत्तर को देखें: मैं msysgit के साथ नोटपैड ++ (या अन्य) का उपयोग कैसे करूं?

यदि आप विम का उपयोग करना चाहते हैं, तो iअपने संदेश में टाइप करें। जब खुश ईएससी मारा। फिर टाइप करें:wq , और git तब खुश होगा।

या बस git commit -m "your message here"संपादक को पूरी तरह से छोड़ने के लिए टाइप करें।


16
क्या विम कभी फ्रेंडली है? या क्या लोगों को सिर्फ इसकी दोस्ती करने की आदत है?
रयान लूनी

8
एक बार जब आप समझ जाते हैं कि यह कैसे काम करता है, तो विम अनुकूल है। यह वास्तव में बहुत तार्किक है और अच्छी तरह से सोचा गया है।
मैट ग्रीर

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

यह बहुत अच्छा है जब आपको एक प्रतिबद्ध संदेश में संशोधन करने की आवश्यकता होती है
shinzou

15

क्या आपने अभी जाने की कोशिश की है: git प्रतिबद्ध -m "यहाँ संदेश"

तो आपके मामले में:

git commit -m "Form validation added"

आपके द्वारा अपनी फ़ाइलों को जोड़ने के बाद।


1
आपका संस्करण अच्छा है। लेकिन मैं अपने लिखे (google Translator) तरीके से जाना चाहता हूं
aTei

कोई चिंता नहीं, मैं भूल गया कि उस आदेश के बाद एक संपादक था। मैं शायद ही कभी सिर्फ एक "संदेश" के बिना कमिट करता हूं
टोनी

1

आमतौर पर, git commitएक इंटरेक्टिव एडिटर (लिनक्स पर, और संभवतया सिग्विन, आपके कंटेंट द्वारा निर्धारित होता है) लाता है$EDITOR आप अपने प्रतिबद्ध संदेश को संपादित करने के लिए (जब आप सहेजते हैं और बाहर निकलते हैं, तो संपादित करने के लिए) पर्यावरण चर ) को ।

आपको यह सुनिश्चित करना चाहिए कि आप जिन बदलावों के लिए प्रयास कर रहे हैं, उन्हें जीआईटी इंडेक्स में जोड़ा गया है; यह निर्धारित करता है कि क्या प्रतिबद्ध है। इस पर विवरण के लिए http://gitref.org/basic/ देखें ।


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