कमांड लाइन के माध्यम से एक जीआईटी प्रतिबद्ध संदेश में विस्मयादिबोधक चिह्न का उपयोग


152

मैं कमांड लाइन से Git कमिट मैसेज में विस्मयादिबोधक बिंदु कैसे दर्ज करूं?

एक बैकस्लैश के साथ विस्मयादिबोधक बिंदु से बचना संभव है, लेकिन फिर बैकस्लैश प्रतिबद्ध संदेश में भी समाप्त होता है।

मुझे कुछ इस तरह चाहिए:

git commit -am "Nailed it!"

6
यह समस्या पहले स्थान पर क्यों मौजूद है, इसकी व्याख्या के लिए: askubuntu.com/questions/434832/…
मार्क अमेरी

जवाबों:


226

डबल कोट्स के बजाय सिंगल कोट्स का उपयोग करें

git commit -am 'Nailed it!'

वैकल्पिक रूप से, यदि आपको किसी भी कारण से दोहरे उद्धरण चिह्नों का उपयोग करने की आवश्यकता है, लेकिन !फिर भी एक शाब्दिक चाहते हैं तो अपनी स्क्रिप्ट के माध्यम से इतिहास विस्तार बंद करेंset +H


48
या बस अपने उद्धरण मिलाएं:git commit -am "$FOO: Nailed it"'!'
Cascabel

4
यह मेरे लिए OS X में काम नहीं कर रहा था, इसलिए मैंने git commitअपने संदेश के लिए एक टेक्स्ट एडिटर खोलने के लिए सिर्फ (no -m) का उपयोग किया ।
केविन सी।

git commit -m "This is the best code ever"!OSR उपयोग में @Ryan H. उत्तर में वर्णित है।
mljrg

42

इसे हल करने का एक और तरीका इसके बाद एक स्थान जोड़ना है ! पसंद:

git commit -am "Nailed it! "

के बीच की जगह पर ध्यान दें ! और अंतिम

(अंतरिक्ष को प्रतिबद्ध संदेश में शामिल नहीं किया जाएगा - स्वचालित रूप से प्रतिबद्ध संदेशों से व्हॉट्सएप को पीछे छोड़ते हुए ट्रिट।)


3
यह मेरे लिए सबसे सरल उपाय लगता है, और चर प्रक्षेप के साथ दोहरे-उद्धरण की अनुमति देता है: git commit -m "$(sillyname) $(buzzphrase). $(superb)! ":)
एलेक्स हॉल

4

इसके बजाय क्या उद्धरण या उपयोग करने के लिए भागने याद करने की आवश्यकता नहीं है

  1. अपना कमांड टाइप करें (या इसका हिस्सा)
  2. आपकी कमांड लाइन में, प्रेस Ctr X E»आपके" बाहरी संपादक "को खोल देगा।
  3. अपनी कमांड संपादित करें, और अपने संपादक को बंद करें।

... कमांड निष्पादित किया जाएगा और कोई विशेष वर्ण Git प्रतिबद्ध संदेश में सही रूप से दिखाई देगा!

(NB कई अन्य उपयोग: जटिल कमांड टाइप करना, अपने कमिट मैसेज में लाइन ब्रेक जोड़ना)


4

यदि आपको दोहरे उद्धरण चिह्नों का उपयोग करने की आवश्यकता है और !संदेश में अंतिम चरित्र है, तो बस !उद्धरणों के बाहर रखें , क्योंकि हम केवल उद्धरणों का उपयोग कर रहे हैं ताकि संदेश में रिक्त स्थान शामिल हो जाएं।

git commit -m "Reverting last commit because I don't like it"!

यदि आपको !मध्य स्ट्रिंग को शामिल करने की आवश्यकता है , तो आप एकल उद्धरणों का उपयोग कर सकते हैं, लेकिन यदि आपको शाब्दिक एकल उद्धरण का उपयोग करने की आवश्यकता है, तो आपको अपनी बोली को बंद करने की आवश्यकता होगी, फिर इसे 'बाहर करके स्ट्रिंग को बाहर रखें। तो, मान लें कि आपका संदेश है I don't like it! Reverting again!, इसे 'I don'+ \'+ के साथ बनाया जा सकता है't like it! Reverting again!'

git commit -m 'I don'\''t like it! Reverting again!'

इससे अधिक जटिल कुछ भी हो, आप शायद इससे बेहतर हैं git commitऔर अपने डिफ़ॉल्ट टेक्स्ट एडिटर का आह्वान कर सकते हैं :)


1

आप भी टाइप कर सकते हैं:

git commit -am "Nailed it
!
"

तो बस हिट दर्ज करें और विस्मयादिबोधक चिह्न को एक नई रेखा पर रखें, फिर प्रतिबद्ध संदेश को बंद करें। पाया कि एक दिन एक दुर्घटना से।


6
यह प्रतिबद्ध संदेश में विस्मयादिबोधक चिह्न से पहले शाब्दिक नई पंक्ति सम्मिलित करेगा, जो बदसूरत है। -1।
मार्क अमेरी

-3

हम्म। इसे एक स्लैश के साथ बचाना मेरे लिए प्रतिबद्ध संदेश में नहीं दिखता है।

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