मेरी रिपॉजिटरी में, मैंने निम्नलिखित कमांड का उपयोग करके टैग बनाए हैं।
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
आप रिपॉजिटरी के सभी टैग को कैसे सूचीबद्ध करेंगे?
मेरी रिपॉजिटरी में, मैंने निम्नलिखित कमांड का उपयोग करके टैग बनाए हैं।
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
आप रिपॉजिटरी के सभी टैग को कैसे सूचीबद्ध करेंगे?
जवाबों:
git tag
पर्याप्त होगा। मैन पेज देखेंgit tag
आपके पास भी है:
git tag -l <pattern>
उन नामों के साथ सूची सूचीबद्ध करें जो दिए गए पैटर्न से मेल खाते हैं (या यदि कोई पैटर्न नहीं दिया गया है)।
तर्कों के बिना "गिट टैग" टाइप करना, सभी टैगों को भी सूचीबद्ध करता है।
हाल ही में (" कैसे जीआईटी टैग्स को सॉर्ट करने के लिए? ", जीआईटी 2.0+ के लिए)
git tag --sort=<type>
एक विशिष्ट क्रम में क्रमबद्ध करें।
समर्थित प्रकार है:
- "
refname
" (लेक्सिकोग्राफिक ऑर्डर),- "
version:refname
या" या "v:refname
(टैग नामों को संस्करणों के रूप में माना जाता है)।Prepend "-" क्रमबद्ध क्रम को उल्टा करने के लिए।
दोनों को सूचीबद्ध करता है:
नोट: हल्के तैयार टैग को टैग करने पर गिट तैयार लेख ।
तर्कों के बिना, git टैग एक "लाइटवेट" टैग बनाता है जो मूल रूप से एक शाखा है जो कभी नहीं चलती है।
हल्के टैग अभी भी उपयोगी हैं, शायद एक ज्ञात अच्छे (या बुरे) संस्करण को चिह्नित करने के लिए, या भविष्य में उपयोग करने के लिए आपके द्वारा किए जा सकने वाले कमिट्स का एक गुच्छा।
फिर भी, आप शायद इस प्रकार के टैग को आगे नहीं बढ़ाना चाहते हैं ।आम तौर पर, आप कम से कम -ए-ऑप्शन पास करना चाहते हैं एक अहस्ताक्षरित टैग बनाने के लिए, या -s या -u विकल्पों के माध्यम से अपनी GPG कुंजी के साथ टैग पर हस्ताक्षर करें।
कहा जा रहा है कि, चार्ल्स बेली बताते हैं कि ' git tag -m "..."
' वास्तव में एक उचित (अहस्ताक्षरित) टैग (विकल्प ' -a
') का अर्थ है , न कि एक हल्का। तो आप अपने शुरुआती कमांड के साथ अच्छे हैं।
यह इससे अलग है:
git show-ref --tags -d
कौन से टैग उनके कमिट के साथ सूचीबद्ध होते हैं (" Git टैग सूची, प्रदर्शन प्रतिबद्ध sha1 हैश देखें ")। एनोटेट टैग ऑब्जेक्ट (जिसमें उनकी स्वयं की प्रतिबद्ध SHA1 है) को निष्क्रिय करने के लिए
नोट करें -d
और वास्तविक टैग की गई कमिटी प्रदर्शित करें।
इसी तरह, git show --name-only <aTag>
टैग और संबंधित प्रतिबद्धता को सूचीबद्ध करेगा।
इसके अलावा git show-ref
, बल्कि उपयोगी है ताकि आप सीधे संबद्ध कर सकते हैं कि टैग संवाददाता के साथ प्रतिबद्ध :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
मुझे वह पसंद है git show-ref
जो मुझे टैग और संशोधन देता है।
और यहां बताया गया है कि आप रिमोट टैग कैसे ढूंढते हैं:
git ls-remote --tags origin
बनाने की कोशिश करें git tag
कि यह पर्याप्त है, तो बनाने की कोशिश नहीं होना चाहिए git fetch
तो git tag
।
git tag
कमांड पर्याप्त होना चाहिए यदि आप उपलब्ध टैग की सूची देखना चाहते हैं। यदि आपको लगता है कि आप रिमोट पर मौजूद हो सकते हैं, तो आपके स्थानीय टैग रिमोट के साथ सिंक में नहीं हो सकते हैं। इस मामले में, नवीनतम रेफ / हेड को पहले रिमोट से प्राप्त करें git fetch
, उसके बाद वास्तविक git tag
। मैं आम तौर पर इस तरह से एक-लाइनर चलाता हूं: $ git fetch -p && git tag
बस यह सुनिश्चित करने के लिए कि मैं नवीनतम और सबसे बड़ा देख रहा हूं।
Git में उपलब्ध टैग को सूचीबद्ध करना सीधा है। बस टाइप करें git tag
(वैकल्पिक -l
या --list
) के साथ।
$ git tag
v5.5
v6.5
आप उन टैग्स को भी खोज सकते हैं जो एक विशेष पैटर्न से मेल खाते हैं।
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
गिट रिपॉजिटरी पर नवीनतम टैग प्राप्त करना
कमांड सबसे हालिया टैग ढूंढता है जो एक कमिट से पहुंच योग्य है। यदि टैग कमिट को इंगित करता है, तो केवल टैग दिखाया गया है। अन्यथा, यह टैग किए गए ऑब्जेक्ट के शीर्ष पर अतिरिक्त कमिट्स की संख्या और सबसे हाल की कमेटी के संक्षिप्त ऑब्जेक्ट नाम के साथ टैग नाम को प्रत्यय करता है।
git describe
--abbrev
सेट के साथ 0
, कमांड का उपयोग tagname
बिना किसी प्रत्यय के निकटतम खोजने के लिए किया जा सकता है :
git describe --abbrev=0
अन्य उदाहरण:
git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch
स्थानीय git टैग को कैसे प्रींट करें जो रिमोट पर मौजूद नहीं है
इसे सरल करने के लिए, यदि आप कुछ ऐसा करने की कोशिश कर रहे हैं, तो git fetch -p -t
यह git संस्करण के साथ काम करना शुरू नहीं करेगा 1.9.4
।
हालाँकि, एक सरल समाधान है जो अभी भी नवीनतम संस्करणों में काम करता है:
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
मेरे द्वारा उपयोग किए गए नवीनतम उपलब्ध टैग के बारे में विवरण देखने के लिए:
git show `git describe` --pretty=fuller
यदि आप स्थानीय रूप से टैग नाम की जांच करना चाहते हैं, तो आपको उस पथ पर जाना होगा जहां आपने टैग (स्थानीय पथ) बनाया है। मतलब जहां आपने अपनी वस्तुएं रखी हैं। फिर कमांड टाइप करें:
git show --name-only <tagname>
यह उस टैग नाम के तहत सभी ऑब्जेक्ट दिखाएगा। मैं टेराडाटा में काम कर रहा हूं और ऑब्जेक्ट का मतलब व्यू, टेबल आदि है
आप सभी मौजूदा टैग सूचीबद्ध कर सकते हैं git tag
या आप उस सूची को फ़िल्टर कर सकते हैं git tag -l 'v1.1.*'
, जहां *
वाइल्डकार्ड के रूप में कार्य किया जाता है। इसके साथ चिह्नित टैग की सूची वापस आ जाएगी v1.1
।
आप देखेंगे कि जब आप कॉल git tag
करते हैं तो आपको अपने एनोटेशन की सामग्री देखने को नहीं मिलती है। उन्हें पूर्वावलोकन करने के लिए आपको -n
अपने आदेश में जोड़ना होगा git tag -n2
:।
$ git tag -l -n2
v1.0 रिलीज संस्करण 1.0
v1.1 रिलीज संस्करण 1.1
कमांड सभी मौजूदा टैगों को उनके टैग संदेश की अधिकतम 3 पंक्तियों के साथ सूचीबद्ध करता है। डिफ़ॉल्ट रूप से -n
केवल पहली पंक्ति दिखाता है। अधिक जानकारी के लिए इस टैग से संबंधित लेख को भी देखना सुनिश्चित करें ।