मुझे यकीन नहीं है कि वर्तमान प्रोजेक्ट के प्रत्येक संस्करण को ब्रांच करके आपका क्या मतलब है।
वैसे भी, गिट सलाह देता है कि आप 'विषय शाखा' बनाएं। 'विषय शाखा' से, इसका मतलब है कि जब आप किसी सुविधा/बग पर काम कर रहे हों तो आप एक शाखा बनाते हैं। मान लीजिए कि मैं jQueryUI पर काम कर रहा हूं और मुझे jQuery कैलेंडर में एक सुविधा जोड़ने के लिए कहा गया है जो उपयोगकर्ता को उन तारीखों को निर्दिष्ट करने की अनुमति देता है जो चयन योग्य नहीं हैं।
यदि मैं मास्टर नाम की शाखा में हूं, तो मैं 'निर्दिष्ट दिनांक एक्सक्लूस' शाखा नामक एक स्थानीय शाखा तैयार करूंगा और अपना परिवर्तन करना शुरू कर दूंगा। इस सुविधा से संबंधित कोई भी और सभी कोड इस शाखा में जाएगा।
master
|
|
|___ SpecifyDateExclusion
जबकि मैं इस सुविधा पर काम कर रहा हूं, एक बग रिपोर्ट में आता है कि ओपेरा 10 में कैलेंडर टूट गया है और इस बग को अब ठीक करने की आवश्यकता है। मैं अपनी मास्टर शाखा में वापस जाता हूं और Opera10BugFix नाम की एक और शाखा बनाता हूं और इसमें बग फिक्स करना शुरू करता हूं।
master
|
|
|___ SpecifyDateExclusion
|
|
|___ Opera10BugFix
बहुत जल्द ही, आप की तरह
master
|
|
|___ SpecifyDateExclusion
|
|___ Feature1
|
|___ Feature2
|
|___ Feature3
|
|___ Opera10BugFix
|
|___ BugFix1
|
|___ BugFix2
लाभ आप पूछ सकते हैं क्या शाखाओं हो सकता है?
लाभ मेरी रिलीज तैयार करते समय मुझे लचीलापन देता है। मान लें कि मेरी अगली रिलीज मुख्य रूप से बग फिक्स के बारे में है।
मैं मास्टर से 'इंटरिमबगफिक्स' नामक एक नई शाखा तैयार करूंगा और अपनी सभी बग फिक्स शाखाओं को विलय कर दूंगा।
अगर मैं बग/फीचर रिलीज का मिश्रण बनाना चाहता हूं, तो मैं मास्टर से 'नेक्स्टवर्सियन' नाम की एक शाखा तैयार करूंगा और अपनी फीचर/बग फिक्स शाखाओं को मर्ज कर दूंगा।
गिट इन शाखाओं को प्रबंधित करने के तरीके के बारे में बेहद शक्तिशाली है और यदि आप कुछ कल्पना कर सकते हैं, तो गिट आपको ऐसा करने देगा।
"मास्टर वर्क को वर्क इन प्रोग्रेस (डब्ल्यूआईपी) नहीं बनाकर साफ करें" मुझे यह विचार पसंद है। – LDK