यदि हम केवल तोड़फोड़ में एक शाखा के साथ काम करते हैं, तो क्या हमें भी परेशान होना चाहिए? क्या हम सिर्फ चीजों को गति देने के लिए ट्रंक पर काम नहीं कर सकते?
यह है कि हम तोड़फोड़ के साथ कैसे विकसित होते हैं:
- एक कुंड है
- हम एक नई विकास शाखा बनाते हैं
- हम उस शाखा पर एक नई सुविधा विकसित करते हैं
- जब सुविधा हो जाती है, तो इसे ट्रंक में मिला दिया जाता है, शाखा को हटा दिया जाता है और ट्रंक से एक नई विकास शाखा बनाई जाती है
जब हम उत्पादन के लिए रिलीज़ करना चाहते हैं, तो हम ट्रंक से एक टैग बनाते हैं। उस टैग से एक शाखा पर बगफिक्स बनाये जाते हैं। यह बगफिक्स तब ट्रंक में विलय कर दिया जाता है।
यही कारण है कि हम एक सुविधा होने के बाद एक नई विकास शाखा बनाते हैं। इस तरह, बगफिक्स हमारे नए कोड में जल्द ही शामिल हो जाता है।
नीचे एक आरेख है जिसे स्पष्ट करना चाहिए:
अब, यह महसूस कर रहा है कि यह काम करने का सबसे कारगर तरीका नहीं है। हम प्रतिबद्ध होने से पहले स्थानीय स्तर पर निर्माण करते हैं, जिसमें लगभग 5-10 मिनट लगते हैं। आप समझ सकते हैं कि यह काफी लंबे समय के इंतजार के रूप में अनुभव किया गया है।
एक विकास शाखा का विचार है कि ट्रंक हमेशा रिलीज-रेडी होता है। लेकिन यह अब हमारी स्थिति में सच नहीं है। कभी-कभी, एक सुविधा लगभग तैयार हो जाती है, और कुछ डेवलपर्स पहले से ही अगली सुविधा को कोडित करना शुरू कर देंगे (अन्यथा, वे एक या दो डेवलपर्स के खत्म होने और विलय के इंतजार में बैठे होंगे)।
फिर, जब सुविधा 1 समाप्त हो जाती है, तो इसे ट्रंक में मिला दिया जाता है, लेकिन सुविधा 2 के कुछ कमिट के साथ शामिल है।
तो, क्या हमें भी विकास शाखा से परेशान होना चाहिए, क्योंकि हमारे पास केवल एक शाखा है? मैं ट्रंक-आधारित विकास और शाखा-दर-अमूर्तता के बारे में पढ़ रहा हूं, लेकिन अधिकांश लेख मैंने शाखा-दर-अमूर्त भाग पर ध्यान केंद्रित किया है। मुझे लगता है कि बड़े बदलावों के लिए यह धारणा है कि कई रिलीज होगी। यह कोई समस्या नहीं है जो हम कर रहे हैं।
तुम क्या सोचते हो? क्या हम सिर्फ ट्रंक पर काम कर सकते हैं? सबसे खराब स्थिति यह है (मुझे लगता है) कि हमें ट्रंक और चेरी से एक टैग बनाना होगा जो हमें चाहिए, क्योंकि कुछ कमिट / सुविधाएँ अभी तक तैयार नहीं हैं।