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