यह सटीक मुद्दा है जो मेरे पास gitflow और GitHub प्रवाह के साथ है, और ऐसा लगता है कि वेब अनुप्रयोगों के साथ यह अक्सर होता है - या अधिक आदर्श की तरह। ऐसा लगता है कि आप या तो इस मुद्दे को रेट्रोएक्टली (ऊपर उल्लेखित) या प्रैक्टिकली (उदाहरण के लिए नीचे) हल करेंगे।
मैंने मानक gitflow शाखाओं के अलावा 'बंडल शाखाएँ' बनाई हैं। बंडल में उन सभी विशेषताओं को शामिल किया गया है जो uat / qa के लिए तैयार हैं। Uat / qa सुविधाओं की एक सूची बनाई जाती है। इन्हें अस्थाई बंडल में मिला दिया जाता है, और यह बंडल ऊट / क्यूए में तैनात हो जाता है। मूल सुविधा शाखा पर कोई बग फिक्सिंग होती है, और जो बंडल में वापस आ जाती है और तैनात हो जाती है। यह आने वाली रिलीज़ को अलग करता है और साथ ही उन विशेषताओं को एक साथ परीक्षण करने की अनुमति देता है, जिससे उन्हें विकसित शाखा में अपना रास्ता मिल सके। जिन शाखाओं को मंजूरी दी जाती है उन्हें विकास में एक पुल अनुरोध मिलता है - गिटफ्लो प्रक्रिया के बाद। टेस्ट तैयार सुविधाओं को अस्थायी बंडल शाखा से जोड़ा या हटाया जा सकता है।
- यह मास्टर को हमेशा उत्पादन के लिए तैयार स्थिति को दर्शाता है (हुक के साथ स्वचालित कर सकता है)
- विकास हमेशा नवीनतम रिलीज (और परीक्षण) अगले रिलीज उम्मीदवार को दर्शाता है
विपक्ष में बंडल सूची का प्रबंधन और एक अन्य शाखा प्रकार जोड़ना शामिल है; हालांकि, रेट्रो फिक्स के अलावा, जो मुझे लगता है कि बहुत देर हो चुकी है, यह अधिक व्यवहार्य समाधान प्रतीत होता है।
GUI एडऑन के साथ, यह बंडल तैनाती के प्रति सुविधा शाखाओं को टिक करने के लिए इष्टतम हो सकता है - ऑटोमेशन को ध्यान में रखते हुए।