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