Git लचीली ब्रांचिंग रणनीतियाँ प्रदान करता है, लेकिन इसका क्या अर्थ है? सरल शब्दों में, ब्रांचिंग रणनीति नियमों का एक सेट है, एक ऐसा सम्मेलन जो टीमों और डेवलपर्स की मदद करता है - वे एक नई शाखा, उसका प्रवाह, आदि बनाने के लिए इन नियमों और सम्मेलनों का पालन कर सकते हैं।
उपयुक्त नामकरण परंपराओं का उपयोग न करने से भ्रम की स्थिति पैदा होती है और कोड रखरखाव टीम जटिल हो जाती है। हम नामकरण परंपराओं की शाखाओं में बंटी Git की सर्वोत्तम प्रथाओं को नज़रअंदाज़ नहीं कर सकते।
गिट ब्रांचिंग रणनीतियाँ काम को अलग करने की अनुमति देती हैं। मोटे तौर पर, हम Git शाखाओं को दो श्रेणियों में विभाजित कर सकते हैं:नियमित और अस्थायी शाखाएँ।
नियमित गिट शाखाएं
ये शाखाएं स्थायी आधार पर आपके भंडार में उपलब्ध रहेंगी। उनकी नामकरण परंपरा सरल और सीधी है।
- विकास (देव ) मुख्य विकास शाखा है। देव शाखा का विचार इसमें परिवर्तन करना और डेवलपर्स को सीधे मास्टर शाखा में कोई भी परिवर्तन करने से रोकना है। देव शाखा में परिवर्तन की समीक्षा की जाती है और परीक्षण के बाद, मास्टर शाखा में विलय हो जाता है।
- मास्टर (मास्टर ) Git रिपॉजिटरी में उपलब्ध डिफ़ॉल्ट शाखा है। यह हर समय स्थिर रहना चाहिए और किसी भी प्रत्यक्ष चेक-इन की अनुमति नहीं देगा। आप कोड समीक्षा के बाद ही इसे मर्ज कर सकते हैं। टीम के सभी सदस्य मास्टर को स्थिर और अप-टू-डेट रखने के लिए जिम्मेदार हैं।
- क्यूए (क्यूए ), या परीक्षण शाखा, लागू किए गए सभी परिवर्तनों के QA परीक्षण और स्वचालन परीक्षण के लिए सभी कोड शामिल हैं। उत्पादन परिवेश में कोई भी परिवर्तन करने से पहले, उसे एक स्थिर कोडबेस प्राप्त करने के लिए QA परीक्षण से गुजरना होगा।
अस्थायी गिट शाखाएं
जैसा कि नाम से संकेत मिलता है, ये ऐसी शाखाएँ हैं जिन्हें आवश्यकता पड़ने पर बनाया और हटाया जा सकता है। वे इस प्रकार हो सकते हैं:
- बग फिक्स
- हॉट फिक्स
- फीचर शाखाएं
- प्रायोगिक शाखाएं
- डब्ल्यूआईपी शाखाएं
अस्थायी शाखाओं के लिए विशेषज्ञों द्वारा अनुशंसित कई प्रारूप और नामकरण परंपराएं हैं।
यहाँ Git शाखाओं का एक सरल कार्यप्रवाह है।
गिट ब्रांचिंग नेमिंग कन्वेंशन
इस लेख में, मैं उन सात सर्वोत्तम नामकरण परंपराओं की समीक्षा और साझा करूँगा जिनका उपयोग मैंने अतीत में व्यक्तिगत रूप से उनकी दक्षता सुनिश्चित करने के लिए किया था।
<एच3>1. समूह शब्द के साथ शाखा का नाम प्रारंभ करेंयह सर्वोत्तम प्रथाओं में से एक है। समूह शब्द आपके कार्यप्रवाह से मेल खाने के लिए कुछ भी हो सकता है।
मुझे निम्न जैसे छोटे शब्द पसंद हैं:
बग - बग जिसे जल्द ही ठीक करने की जरूरत है
WIP - काम प्रगति पर है, और मुझे पता है कि यह जल्दी खत्म नहीं होगा
शाखा का नाम देखकर आप समझ सकते हैं कि यह Git शाखा क्या है और इसका उद्देश्य क्या है।
नीचे दिए गए उदाहरणों पर एक नज़र डालें:
- बग-लोगो-संरेखण-समस्या - डेवलपर लोगो संरेखण समस्या को ठीक करने का प्रयास कर रहा है;
- wip-ioc-container-added - शाखा प्रगति पर IoC कंटेनर जोड़ने के कार्य से संबंधित है।
आप अपनी शाखा के नाम में इश्यू ट्रैकर आईडी का उपयोग कर सकते हैं। जब मैं कुछ बग्स को ठीक करने पर काम करता हूं तो मैं इस विधि को पसंद करता हूं। उदाहरण के लिए:
wip-8712-ऐड-टेस्टिंग-मॉड्यूल
नाम से पता चलता है कि शाखा परीक्षण मॉड्यूल जोड़ने के कार्य पर लागू होती है, समस्या की ट्रैकिंग आईडी 8712 है, और कार्य प्रगति पर है।
शाखा नाम में बाहरी ट्रैकिंग आईडी का उपयोग करने का एक और लाभ बाहरी सिस्टम से प्रगति को ट्रैक करने की संभावना है।
<एच3>3. हाइफ़न या स्लैश का उपयोग विभाजक के रूप में करेंकई डेवलपर स्लैश का उपयोग विभाजक के रूप में करते हैं, और कई हाइफ़न का उपयोग करते हैं। किसका उपयोग करना है - यह आप और आपकी टीम की प्राथमिकताओं पर निर्भर करता है।
मेरी राय है कि हाइफ़न नाम को पढ़ने में अधिक आरामदायक बनाते हैं, इसलिए यह शाखा नामों में उपयुक्त विभाजक है। आप स्लैश, हाइफ़न और अंडरस्कोर का उपयोग कर सकते हैं। बात सुसंगत रहने की है।
शाखा के नाम में विभाजक का उपयोग करने के दो मुख्य लाभ हैं:
- यह पठनीयता बढ़ाता है और भ्रम से बचने में मदद करता है;
- यह प्रबंधन करना आसान बनाता है, खासकर यदि आप कई शाखाओं के साथ काम कर रहे हैं।
उदाहरण 1. बिना किसी विभाजक के Git शाखा का नाम:
सुविधा अपग्रेडjqueryversionloginमॉड्यूल
उदाहरण 2. विभाजक जोड़कर (इस मामले में, यह एक अंडरस्कोर है), आप Git शाखा का नाम पठनीय बनाते हैं:
feature_upgrad_jquery_version_login_module
<एच3>4. लेखक के नाम के साथ Git शाखाकई कंपनियां नीचे दिए गए प्रारूप के अनुसार लेखकों के नाम शाखा नामों में जोड़ना पसंद करती हैं:
<author>_<branch-type>_<branch-name>
उदा., राजीव.बेरा_फीचर_नया-प्रयोगात्मक-परिवर्तन
यह विधि अतिरिक्त सिस्टम के साथ विभिन्न डेवलपर्स के काम और प्रगति की आसान ट्रैकिंग की अनुमति देती है।
5. केवल नंबरों के प्रयोग से बचें
कुछ डेवलपर केवल शाखा नाम में इश्यू आईडी का उपयोग करते हैं, जो कार्य प्रगति में सहायक नहीं है।
उदाहरण के लिए, एक शाखा का नाम 9912 है - यह जादुई संख्या हमें क्या बताएगी? इसका मतलब केवल अधिक भ्रम और गलतियों का जोखिम है, खासकर अन्य गिट शाखाओं के साथ विलय के दौरान।
<एच3>6. सभी नामकरण परंपराओं का एक साथ उपयोग करने से बचेंसभी गिट शाखा नामकरण सम्मेलनों को मिलाकर मिलान करना सबसे अच्छा अभ्यास नहीं है। यह केवल भ्रम जोड़ता है और समग्र प्रक्रियाओं को जटिल बनाता है।
एक टीम को एक बार काम में उपयोग करने के लिए नामकरण परंपराओं को तय करना चाहिए, और उन पर टिके रहना चाहिए। संगति सबसे महत्वपूर्ण चीज है।
<एच3>7. लंबे समय तक चलने वाली शाखाओं के लिए लंबे वर्णनात्मक नामों से बचेंकिसी शाखा के नाम का अनिवार्य गुण यह है कि वह सटीक और सूचनात्मक होना चाहिए। आइए फिर से कुछ उदाहरण देखें:
wip_login_module_who_will_used_in_the_public_website
wip_login_module_who_will_used_in_the_internal_website
वहां, शाखा के नाम लंबे और विस्तृत हैं। यह आवश्यक नहीं है। इसके बजाय, आप निम्न प्रकार का उपयोग कर सकते हैं:
wip_feature_login_module
यह नाम छोटा है, लेकिन यह इस शाखा के उद्देश्य की व्याख्या करता है।
निष्कर्ष
गिट ब्रांचिंग मॉडल शक्तिशाली है, लेकिन आपको शाखाओं को सही और प्रभावी ढंग से प्रबंधित करने की आवश्यकता है। आवश्यक कारकों में से एक सभी टीमों द्वारा समान सम्मेलनों का पालन करना है, विशेष रूप से - स्थानीय भंडार के लिए नामकरण परंपराएं।
यह सुनिश्चित करने के लिए कि आपकी टीम सहमत सम्मेलनों का उपयोग कर रही है, मानकों को लागू करें। प्री-प्रतिबद्ध हुक की तरह, गिट हुक का उपयोग करना सबसे आसान तरीकों में से एक है। मुझे उम्मीद है कि यह आपको गिट ब्रांचिंग मॉडल और उनके नामकरण परंपरा के बारे में एक विचार देगा।