2012-05-21 11 views
6

जब मैं गिट में वर्जन कोड को टैग करता हूं, तो मुझे टैग संदेश में बुलेट पॉइंट्स का उपयोग करना पसंद है।गिट टैग संदेशों में न्यूलाइन वर्णों को कैसे शामिल करें

यह आसानी से एनोटेट टैग के साथ किया जा सकता है:

git tag -a v1.0.0 

* Change number 1 
* Change number 2 
# 
# Write a tag message 
# 

हालांकि, अगर मैं -m विकल्प के साथ एक ही टैग का प्रयास, टैग संदेश नहीं है मैं क्या उम्मीद:

git tag -a v1.0.0 -m "* Change number 1\n* Change number 2" 

git show v1.0.0 

... 

* Change number 1\n* Change number 2 
.... 

'\ N' को सचमुच एक नई लाइन के बजाय अक्षर '\' और 'n' के रूप में व्याख्या किया गया था। मैं -m विकल्प का उपयोग करना चाहता हूं ताकि मैं टैगिंग प्रक्रिया को स्वचालित कर सकूं।

का उपयोग -m विकल्प के साथ वास्तविक न्यूलाइन अक्षरों को शामिल करने का कोई तरीका है?

उत्तर

9

मुझे मिला सबसे नज़दीकी समाधान कई -m विकल्पों का उपयोग करना है, प्रत्येक पंक्ति के लिए एक।

git tag -a v1.0.0 -m "* Change number 1" -m "* Change number 2" 

git-tag man page से:

-m <msg> 
    Use the given tag message (instead of prompting). If multiple 
    -m options are given, their values are concatenated as separate 
    paragraphs. (...) 

अद्यतन: उदाहरण के लिए अधिक खोल आधारित समाधान के लिए जाँच करें "Add line break to git commit -m from command line"

+0

अच्छा जवाब। ओह छुपे हुए खजाने जो मनुष्य पृष्ठों में पाए जा सकते हैं। धन्यवाद, अज़ीज़! –

+1

यह संदेशों के बीच अतिरिक्त न्यूलाइन रखेगा, जो वांछनीय नहीं हो सकता है। –

+0

मेरा आदेश: 'गिट टैग-ए v1.1.0 -m "+ कंसोल खोजने और प्रतिस्थापित करने में नियमित अभिव्यक्तियों के लिए हाइलाइट सिंटैक्स जोड़ा गया," -m "+ विंडोज 10 उपयोगकर्ताओं के लिए कुछ ग्राफ़िक पैरामीटर अनुकूलन के बारे में अतिरिक्त निर्देश।" [** परिणाम **] (https://github.com/Kristinita/SashaSublime/releases/tag/v1.1.0)। मैं क्या गलत करता हूँ? धन्यवाद। –

4

एक और विकल्प स्वरूपित संदेश को एक (अस्थायी) फ़ाइल में रखना होगा और उस फ़ाइल से संदेश पढ़ने के लिए git tag -F <filename> <tag> का उपयोग करना होगा।

0

मान लें कि आप एक यूनिक्स खोल का उपयोग कर रहे हैं, तो न्यूलाइन के लिए आपका वाक्यविन्यास गलत है।

git tag -a v1.0.0 -m "* Change number 1 
* Change number 2" 

काम करना चाहिए।

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