टैगिंग एक ऐसी सुविधा है जिसका उपयोग Git रिपॉजिटरी के इतिहास में विशिष्ट बिंदुओं पर नज़र रखने के लिए किया जाता है।
समय के साथ, जब आप Git रिपॉजिटरी के साथ काम कर रहे होते हैं, तो आप अपने कोडबेस में बड़ी संख्या में बदलाव करेंगे। Git में, व्यक्तिगत परिवर्तनों पर नज़र रखने के लिए कमिट का उपयोग किया जाता है।
हालाँकि, यदि आप अपने रिपॉजिटरी के इतिहास में एक संस्करण जैसे कि एक संस्करण पर कब्जा करना चाहते हैं, तो आप Git टैगिंग सुविधा का उपयोग करना चाहेंगे।
यह ट्यूटोरियल उदाहरणों के साथ, टैगिंग की मूल बातें और Git रिपॉजिटरी में टैग के साथ काम करने के लिए git टैग कमांड का उपयोग करने के तरीके पर चर्चा करेगा। इस ट्यूटोरियल को पढ़ने के अंत तक, आप Git में टैग के साथ काम करने के विशेषज्ञ होंगे।
गिट टैगिंग
टैग संदर्भ (रेफरी) हैं जो गिट भंडार के इतिहास के एक विशिष्ट हिस्से को इंगित करते हैं।
टैग आमतौर पर डेवलपर्स द्वारा एक संस्करण रिलीज बनाने के लिए रेपो के इतिहास में एक विशिष्ट बिंदु को पकड़ने के लिए उपयोग किया जाता है। उदाहरण के लिए, जब कोई डेवलपर किसी प्रोजेक्ट का नया संस्करण लॉन्च करने के लिए तैयार होता है, तो वे प्रोजेक्ट के लिए एक टैग बना सकते हैं।
संक्षेप में, टैग ऐसी शाखाएँ हैं जो नहीं बदलती हैं। आपके द्वारा एक टैग बनाने के बाद, टैग के इतिहास में कोई और कमिट नहीं जोड़ा जाएगा। इसके बजाय, टैग एक स्नैपशॉट संग्रहीत करेगा कि टैग जोड़े जाने पर रिपॉजिटरी कैसे दिखाई दी।
Git में दो अलग-अलग प्रकार के टैग समर्थित हैं। य़े हैं:
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
- एनोटेटेड टैग। ये टैग हैं जो Git डेटाबेस में पूर्ण ऑब्जेक्ट के रूप में संग्रहीत हैं।
- हल्के टैग। ये ऐसे टैग हैं जो एक नाम और एक प्रतिबद्धता के सूचक हैं।
अब हमने Git टैगिंग की मूल बातों पर चर्चा की है, यह पता लगाएं कि आप Git में टैग के साथ कैसे काम कर सकते हैं।
टैग बनाएं
इससे पहले कि आप Git में टैग के साथ काम करना शुरू करें, आपको एक टैग बनाना होगा। Git में टैग बनाने का सिंटैक्स इस प्रकार है:
गिट टैग <नाम>
"नाम" पैरामीटर उस टैग के नाम को संदर्भित करता है जिसे आप बनाना चाहते हैं। चूंकि टैगिंग का उपयोग आमतौर पर किसी प्रोजेक्ट के संस्करणों को ट्रैक करने के लिए किया जाता है, आप टैग के लिए "v1.2" या "बीटा-v0.9" जैसे नाम का उपयोग करना चाह सकते हैं।
आपके द्वारा बनाया गया टैग उस वर्तमान प्रतिबद्धता पर लागू होगा, जिस पर आप अपने भंडार में हैं।
एनोटेटेड टैग
एक एनोटेट टैग एक टैग है जो गिट डेटाबेस में एक पूर्ण वस्तु संग्रहीत करता है। जब आप एक एनोटेट टैग बनाते हैं, तो मेटाडेटा जैसे टैग बनाने वाले व्यक्ति का नाम, उनका ईमेल, और जिस तारीख को टैग बनाया गया था, उसे संग्रहीत किया जाएगा।
इसके अलावा, एनोटेट टैग टैग के लिए एक संदेश के साथ संग्रहीत किए जाते हैं। आम तौर पर, एनोटेट टैग को हल्के टैग पर पसंद किया जाता है क्योंकि एनोटेट टैग द्वारा संग्रहीत मेटाडेटा में लाइन के नीचे कई उपयोग हो सकते हैं।
उदाहरण के लिए, यदि आप ट्रैक करना चाहते हैं कि समय के साथ संस्करण बनाने के लिए कौन जिम्मेदार है, तो आपको एनोटेट टैग द्वारा संग्रहीत मेटाडेटा तक पहुंच की आवश्यकता होगी।
यहाँ Git में एक एनोटेट टैग बनाने का सिंटैक्स दिया गया है:
गिट टैग -ए <नाम>
-a ध्वज का उपयोग Git को एनोटेट टैग बनाने के लिए बताने के लिए किया जाता है। "नाम" पैरामीटर उस टैग का नाम है जिसे हम बनाना चाहते हैं।
इस कमांड को चलाने के बाद, सिस्टम-डिफॉल्ट टेक्स्ट एडिटर खुल जाएगा और हमें हमारे एनोटेट टैग के लिए एक संदेश डालने के लिए कहेगा। ऐसा इसलिए होता है क्योंकि, जैसा कि हमने पहले चर्चा की थी, एनोटेट टैग एक संदेश के साथ संग्रहीत होते हैं।
वैकल्पिक रूप से, आप उस संदेश को निर्दिष्ट कर सकते हैं जिसके साथ सीधे एक टैग बनाया जाएगा। आप इस कोड का उपयोग करके ऐसा कर सकते हैं:
गिट टैग -ए <नाम> -एम <संदेश>पूर्व>एनोटेट टैग में संदेश जोड़ने के लिए -m टैग का उपयोग किया जाता है। मान लीजिए कि हम "संस्करण 1.9" संदेश के साथ v1.9 नामक एक टैग बनाना चाहते हैं। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:
गिट टैग -a v1.9 -m "संस्करण 1.9"जब हम इस कमांड को चलाते हैं, तो साथ में "संस्करण 1.9" संदेश के साथ v1.9 नामक एक टैग बनाया जाएगा।
संदेश के बिना git टैग का उपयोग करने की तुलना में इस कमांड को चलाना अधिक सुविधाजनक है, क्योंकि इस तरह से हमें डिफ़ॉल्ट टेक्स्ट एडिटर में एक टाइप किए बिना सीधे एक प्रतिबद्ध संदेश निर्दिष्ट करने की अनुमति मिलती है, जो तब दिखाई देता है जब आप एक प्रतिबद्ध संदेश निर्दिष्ट नहीं करते हैं।
हल्के टैग
एक हल्का टैग बनाने के लिए, आपको मानक git टैग सिंटैक्स का उपयोग करना चाहिए जिसकी हमने पहले चर्चा की थी। मान लीजिए कि आप "v1.9.1" नामक एक हल्का टैग बनाना चाहते हैं। आप इस कोड का उपयोग करके ऐसा कर सकते हैं:
गिट टैग v1.9.1यह आदेश v1.9.1 नामक एक हल्का टैग बनाएगा। जब आप एक हल्का टैग बनाते हैं, तो आपको टैग संदेश निर्दिष्ट करने की आवश्यकता नहीं होती है। इसके बजाय, प्रोजेक्ट के .git फ़ोल्डर में एक नया टैग चेकसम बनाया और संग्रहीत किया जाएगा।
प्रोजेक्ट के टैग सूचीबद्ध करें
जब आप किसी बड़े प्रोजेक्ट पर काम कर रहे होते हैं, तो आपके पास अपने रिपॉजिटरी के कई टैग किए गए संस्करण हो सकते हैं। किसी प्रोजेक्ट के साथ संग्रहीत टैग की सूची पुनर्प्राप्त करने के लिए, आप निम्न आदेश का उपयोग कर सकते हैं:
गिट टैगयह आदेश टैग की एक सूची देता है। यहाँ इस आदेश से एक उदाहरण आउटपुट दिया गया है:
v1.9.1v1.9.0v1.8.11v1.8.10v1.8.9...इसके अलावा, -l ध्वज का उपयोग किसी प्रोजेक्ट के साथ उपयोग किए गए टैग को फ़िल्टर करने के लिए किया जा सकता है। उदाहरण के लिए, यदि आप "v1.8" से शुरू होने वाले प्रत्येक टैग की सूची प्राप्त करना चाहते हैं, तो आप इस कोड का उपयोग कर सकते हैं:
गिट टैग -l v1.8*हमारे आदेश में, हमने "v1.8*" के बाद एक -l ध्वज निर्दिष्ट किया है। यह Git को v1.8 से शुरू होने वाले सभी टैग की एक सूची प्राप्त करने का निर्देश देता है। तारांकन (*) दर्शाता है कि लौटाए जाने वाले टैग में "v1.8" के बाद कोई भी वर्ण शामिल हो सकता है।
यहाँ इस आदेश से एक उदाहरण आउटपुट दिया गया है:
v1.8.11v1.8.10v1.8.9v1.8.8...जैसा कि आप देख सकते हैं, लौटाए गए सभी टैग "v1.8" से शुरू होते हैं।
एक टैग चेकआउट करें
git checkout कमांड का उपयोग किसी विशिष्ट टैग के साथ कमिट में रिपॉजिटरी की स्थिति को देखने के लिए किया जा सकता है। उदाहरण के लिए, मान लें कि आप अपने भंडार को तब देखना चाहते थे जब वह v1.1 में था। आप इस कोड का उपयोग करके ऐसा कर सकते हैं:
गिट चेकआउट v1.1यह कमांड रिपॉजिटरी को "डिटैच्ड HEAD" स्थिति में ले जाता है, जिसका अर्थ है कि आपके द्वारा किया गया कोई भी परिवर्तन रेपो के टैग किए गए संस्करण को अपडेट नहीं करेगा। इसके बजाय, एक नया डिटैच्ड कमिट बनाया जाएगा जो किसी भी शाखा से संबद्ध नहीं होगा।
इस कमांड को चलाने के बाद, हम यह देखने में सक्षम होते हैं कि हमारा कोडबेस उस कमिट में कैसे दिखाई देता है जिसे v1.1 टैग किया गया था।
एक पुरानी प्रतिबद्धता को टैग करें
हमारे पिछले उदाहरणों में, हमने चर्चा की है कि git के वर्तमान संस्करण में एक टैग जोड़ने के लिए git टैग फ़ंक्शन का उपयोग कैसे करें जिसके साथ आप काम कर रहे हैं। ऐसा इसलिए है, क्योंकि डिफ़ॉल्ट रूप से, git टैग HEAD कमिट (वर्तमान में आप जो कमिटमेंट देख रहे हैं) के लिए एक टैग बनाएगा।
हालाँकि, आप git टैग कमांड का उपयोग करके किसी पुराने कमिट को भी टैग कर सकते हैं। आप एक विशिष्ट प्रतिबद्धता के संदर्भ को निर्दिष्ट करके ऐसा कर सकते हैं जिसमें आप एक टैग जोड़ना चाहते हैं।
मान लीजिए कि आप अपने भंडार में अंतिम प्रतिबद्धता में एक टैग जोड़ना चाहते हैं। ऐसा करने के लिए, आपको सबसे पहले git log चलाना होगा। यह आपको हाल के कमिटों की सूची प्राप्त करने की अनुमति देगा। यहां कार्रवाई में git लॉग कमांड का एक उदाहरण दिया गया है (-pretty=oneline ध्वज के साथ, जो हमारे लिए हमारे कमिट्स को देखना आसान बनाता है):
गिट लॉग --pretty=onelineहमारा आदेश वापस आता है:
8cd29ae5d04abbdbd856d2c2f55f2b82133903e8 नई लॉगिंग सुविधा को पुश करें2911aae73ed1dd372bcdf8f520b174c3817c818b लॉगिंग सुविधा प्रारंभ करें9646aa785211f3069ce01177da98e23b7890d859 समस्या को ठीक करें #342अब, मान लीजिए कि हम अपने "फिक्स इश्यू # 342" कमिट में एक टैग जोड़ना चाहते हैं। हम चाहते हैं कि इस टैग को "v1.3" कहा जाए। हम निम्नलिखित कोड का उपयोग करके इस टैग को जोड़ सकते हैं:
गिट टैग -a v1.3 9646aa785211f3069ce01177da98e23b7890d859यह कमांड टैग 1.3 को हमारे कोड में संदर्भित कमिटमेंट में जोड़ता है। इस मामले में, हमने "समस्या को ठीक करें # 342" संदेश के साथ प्रतिबद्ध के लिए SHA हैश निर्दिष्ट किया।
पुराना टैग बदलें
प्रत्येक कमिट में केवल एक टैग हो सकता है। यदि आप तय करते हैं कि आप किसी अन्य टैग के साथ कमिट से जुड़े टैग को बदलना चाहते हैं, तो आप git टैग का उपयोग करके ऐसा कर सकते हैं। हालांकि, आपको -f (बल) विकल्प निर्दिष्ट करना होगा, जो मौजूदा टैग को जगह में ओवरराइड कर देगा
मान लीजिए कि हम अपने पिछले उदाहरण में चर्चा की गई प्रतिबद्धता में "v1.3.1" टैग जोड़ना चाहते हैं। यदि हम -f ध्वज का उपयोग किए बिना ऐसा करने का प्रयास करते हैं, तो एक त्रुटि संदेश दिखाई देगा। हमारी पिछली प्रतिबद्धता में "v1.3.1" टैग जोड़ने के लिए, हम इस आदेश का उपयोग कर सकते हैं:
गिट टैग -ए-एफ v1.3.1 9646aa785211f3069ce01177da98e23b7890d859यह कमांड हमारे कमिटमेंट में "v1.3.1" टैग जोड़ता है और "v1.3" टैग को ओवरराइड करता है जो हमारे पास पहले था।
टैग हटाएं
git का उपयोग करके किसी टैग को हटाने के लिए, आप -d ध्वज का उपयोग कर सकते हैं। मान लीजिए हम अपने भंडार से "v1.3" टैग हटाना चाहते हैं। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:
git टैग -d v1.3git टैगहमारा कोड लौटाता है:
v1.4v1.2v1.1पहला आदेश हमारे भंडार से टैग v1.3 को हटा देता है। दूसरा आदेश टैग की एक सूची देता है। जैसा कि आप देख सकते हैं, जब हम टैग की एक सूची प्राप्त करते हैं, तो टैग v1.3 गायब होता है। ऐसा इसलिए है क्योंकि हमने -d ध्वज का उपयोग करके टैग को हटा दिया है।
निष्कर्ष
टैगिंग Git की एक महत्वपूर्ण विशेषता है जिसका उपयोग डेवलपर्स द्वारा Git रिपॉजिटरी के विभिन्न संस्करणों पर नज़र रखने के लिए किया जाता है। टैग को वर्तमान प्रतिबद्धता में जोड़ा जा सकता है जिसे एक डेवलपर देख रहा है, या एक भंडार में मौजूदा प्रतिबद्धता में जोड़ा जा सकता है।
इस ट्यूटोरियल ने उदाहरणों के साथ, Git में टैगिंग की मूल बातें और Git टैग कमांड का उपयोग करने के तरीके पर चर्चा की। अब आप एक पेशेवर डेवलपर की तरह git टैग कमांड का उपयोग शुरू करने के लिए तैयार हैं!