2010-09-21 12 views
29

के साथ विफल रहता है जब मैं git commit -a करने का प्रयास करता हूं, तो मुझे एक अच्छा vim उदाहरण मिलता है। मैं अपने संदेश में टाइप करें, :wq करते हैं, vim नीचे बंद कर देता है और टर्मिनल संदेश,गिट प्रतिबद्ध विम और जीवीआईएम

Aborting commit due to empty commit message. 

this question मुझे यकीन है कि मेरी core.editor कहते हैं, "जाँचने" बनाया के अनुसरण में है (ऐसा नहीं करता है user.editor, Fwiw) , लेकिन मुझे अभी भी वह त्रुटि संदेश मिलता है।

क्या किसी के पास कोई और विचार है?

संपादित करें 1: I am फ़ाइल निर्दिष्ट करके प्रतिबद्ध करने में सक्षम। मेरे संदेश उचित रूप से -एम विकल्प का उपयोग करने के लिए बहुत लंबा हैं।

संपादित करें 2:

$ git config core.editor 
vim 
error: More than one value for the key core.editor: vim 
error: More than one value for the key core.editor: gvim 

संपादित करें 3: फिर भी, ये समस्या हो रही भी core.editor अनुसार क्रमबद्ध साथ। कोई अन्य विचार?

$ git config core.editor 
gvim -f 

$ git commit 
Aborting commit due to empty commit message. 

संपादित 4: अन्य त्रुटि संदेश। यह सब कुछ मैं देख रहा हूँ। मैंने अपने मूल प्रश्न से कई को छोड़ दिया क्योंकि मैंने उन्हें कई मशीनों पर प्राप्त कर लिया है, जिनमें से कोई भी विट/जीवीआईएम का उपयोग गिट के साथ नहीं कर रहा है (वर्तमान में छोड़कर)। यहां दिखाए गए मामले में, core.editor vim -f पर सेट है।

$ git commit 

(gvim:21655): GLib-WARNING **: g_set_prgname() called multiple times 

** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed 

** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed 

** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed 

** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed 

** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed 
Aborting commit due to empty commit message. 

core.editor gvim -f पर सेट होने पर मैं बिल्कुल वैसा ही त्रुटि संदेश को छोड़कर संख्या 21,641 है, नहीं 21655. जब मैं लाइनों में से एक गूगल, मैं कोई मेल नहीं मिलता है (मुझे लगता है कि विश्वास करने के लिए कठिन , लेकिन वहां आप हैं)।

+1

क्या यह 'core.editor = vim' के साथ काम करता है? – alternative

+0

@mathepic: नहीं। और यह नए विकल्प बनाता है, जिसे विभिन्न विकल्पों के साथ कोर.एडिटर कहा जाता है। मैं अतिरिक्त से कैसे छुटकारा पा सकता हूं? यह निश्चित रूप से समस्याओं का कारण बनने जा रहा है। – kajaco

+0

@mathepic: ऊपर 2 संपादित करें देखें। – kajaco

उत्तर

4

क्या आप # के साथ अपने प्रतिबद्ध संदेश में लाइनों को उपसर्ग कर रहे हैं? यदि आप हैं, तो गिट उन लोगों के साथ टिप्पणी लाइनों के रूप में व्यवहार करेगा, उन्हें अनदेखा करेगा, और आपके संदेश में कोई सामग्री नहीं मिलेगी।

+0

मैं यह नहीं कर रहा हूं। – kajaco

+0

हाँ, यह मेरा मामला था। ब्रायन धन्यवाद! – zuba

67

यदि आप जीवीआईएम का उपयोग कर रहे हैं, तो आपको यह सुनिश्चित करना होगा कि यह अग्रभूमि में रहता है, अन्यथा यह आपके संदेश को संपादित करने और सहेजने का मौका मिलने से पहले गिट पर नियंत्रण वापस कर देगा। संपादक सेटिंग के हिस्से के रूप में -f स्विच निर्दिष्ट करना इसे सक्षम करना चाहिए।

gvim -f 

आपके पास core.editor सेटिंग के लिए कई मान सेट हैं जो समस्या पैदा कर रहे हैं। आपको केवल एक सेटिंग की आवश्यकता है।

प्रयास करें:

git config --global --unset-all core.editor 
git config --unset-all core.editor 
git config --global core.editor "gvim -f" 
+0

मैंने कहा था कि मैं अपना प्रतिबद्ध संदेश इनपुट करने में सक्षम था। Gvim पॉप अप और मैं टाइपिंग शुरू करते हैं। क्या आप कह रहे हैं कि जब तक मैं प्रतिबद्ध संदेश के साथ नहीं कर लेता तब तक मैं किसी अन्य विंडो पर ध्यान केंद्रित नहीं कर सकता? – kajaco

+0

+1 हाँ, यह है, मुझे लगता है। – alternative

+0

@ कजाको: आप यह भी कहते हैं कि आपका संदेश सहेजना काम नहीं करता है जिसे जीवीआईएम के ऑटो-डिटेचिंग-टू-द-शैल व्यवहार द्वारा समझाया जाएगा। क्या आप कह रहे हैं कि यह फिक्स निश्चित रूप से काम नहीं करता है? –

5

का उपयोग gvim -f समाधान (मेरे लिए काम करता है) होना चाहिए, लेकिन बस core.editor स्थापित करने के लिए इसका इस्तेमाल करने के लिए Git जरूरी नहीं हो सकती है। वास्तव में का उपयोग करके git var GIT_EDITOR चलाएं, यह जानने के लिए कि क्या गिट है। इसे gvim -f प्रिंट करना चाहिए। यदि नहीं, तो man git-var देखें और GIT_EDITOR चर पर अनुभाग पर जाएं ताकि यह पता चल सके कि core.editor सेटिंग को ओवरराइड किया जा सकता है।

0

मैं एक ही त्रुटि में आया था।

:wq या :q! चलाना मुद्दों से बाहर निकल जाएगा। मैंने अन्य संपादकों (टेक्स्टमैट) की कोशिश की है और उस संपादक के सेव और बाहर निकलने पर, प्रतिबद्धता पूरी हो जाएगी।

पाया गया कि :x के साथ दस्तावेज़ को बंद करते समय यह प्रतिबद्धता जीवीआईएम और वहां आवश्यक सभी कॉन्फ़िगरेशन के बिना बंद हो जाएगी।

सारांश -

:x मेरा उत्तर था।

0

विम के लिए fugitive गिट प्लगइन का उपयोग करने पर विचार करें।

आप (जी) vim से सीधे उपयोग किए जाने वाले गिट कमांड को निष्पादित कर सकते हैं।

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