मैं इसी तरह की स्थिति के साथ काम करता हूं जो आपके पास वर्तमान में है। मुझे एक बेहतर खोजने के लिए काम किया गया था? बेहतर? समाधान और यह निम्नलिखित की रेखाओं के साथ कुछ चला गया।
लाइव शाखा अपने वर्तमान राज्य में सर्वर का प्रतिनिधित्व करती है।
जीवित से ली गई शाखा में कोई भी विकास कार्य किया जाना चाहिए। यह एक व्यक्ति आधे घंटे की नौकरी या एक साल की लंबी टीम परियोजना हो सकती है। जितनी बार पसंद किया जाता है, जीने के लिए परिवर्तन इन विकास शाखाओं में विलय किया जा सकता है।
काम का एक टुकड़ा लाइव होने से पहले, लाइव से परिवर्तन फिर से विलय कर दिए जाते हैं और इसे संभावित रिलीज के रूप में टैग किया जाता है। यह रिलीज स्टेजिंग पर्यावरण पर परीक्षण किया जाता है और यदि यह टैग से नया लाइव परीक्षण किया जाता है तो परीक्षण किया जाता है।
यदि यह बेहतर काम करता है तो काम के कई टुकड़ों को एक रिलीज में विलय करना संभव है।
इसका मतलब यह है कि विकास शाखाओं को लाइव के साथ अद्यतित रखना काफी आसान है और अगर विकास में काम का एक टुकड़ा गिरा दिया जाता है तो ऐसा करने के लिए न्यूनतम तैयारी होती है।
एक प्रोजेक्ट पर दूसरे प्रोजेक्ट पर काम करने से बदलने के लिए डेवलपर बस अपने स्थानीय कामकाजी माहौल को एक अलग शाखा में स्विच कर सकता है।
जैसा कि आप वर्णन करते हैं, सिस्टम के साथ हमारे पास हुई समस्याओं में से एक यह है कि DEV प्रोड के साथ काफी जल्दी हो सकता है, इसलिए आप लाइव के खिलाफ विकास नहीं कर रहे हैं और चरण तक पार निर्भरताओं को खोजना आसान नहीं है। उपर्युक्त समाधान अभी भी हल्के वजन के बावजूद इन मुद्दों को हल करता है।