मुझे लगता है कि इन शाखाओं के बीच एक अंतर्निहित संबंध होना चाहिए जो संस्करण संख्या की समस्या को दूर करने के लिए होना चाहिए।
जारी
मैं कल्पना करूँगा कि आप देव शाखा से रिलीज़ शाखा में प्रोडक्शन-मर्ज कोड जैसा कुछ कर सकते हैं, फिर मावेन रिलीज़ (जेनकिंस या मैन्युअल रूप से) करें। यह स्वचालित रूप से अगले नंबर पर संस्करण संख्याओं को रोल करता है। तो आप इस शाखा में कोड 1.4.7-स्नैपशॉट को मर्ज करते हैं, रिलीज़ और कट संस्करण 1.4.7 करते हैं, और मावेन स्वचालित रूप से आपकी काम की प्रतिलिपि को 1.4.8-स्नैपशॉट में रोल करता है।
अद्यतन आधारभूत (वैकल्पिक)
यदि आप अपने ट्रंक (या बेसलाइन शाखा, आदि) का उपयोग पहले से ही अपनी रिलीज़ के लिए जगह के रूप में नहीं कर रहे हैं, तो आपको ट्रंक को अपडेट करते ही होना चाहिए। इसका मतलब है कि आपके संस्करण संख्या भी अपडेट हो रहे हैं। यदि आप केवल जारी शाखा को आधार रेखा मानते हैं तो यह कदम गलत हो सकता है।
बेसलाइन से देव शाखा में विलय
यह आवश्यक है कि आपकी विकास शाखा वास्तविक उत्पादन कोड के साथ अद्यतित रहे । आपको अपनी विकास शाखा तक बेसलाइन (या कार्यान्वयन शाखा, कार्यान्वयन के आधार पर) से कोड को मर्ज करने की आवश्यकता है। यह आपके मामले में महत्वपूर्ण है क्योंकि इसका मतलब है कि रिलीज प्रक्रिया के दौरान होने वाले पोम परिवर्तन, जिसने संस्करण को 1.4.8-एसएनएपीएसएचओटी में बदल दिया, को इस शाखा में लाया जाता है।
मैंने जो किया है, उसे पढ़ने के आधार पर (साथ ही साथ मेरे संगठन में प्रक्रियाएँ), यह मावेन रिलीज़ और स्नैपशॉट का एक सुंदर मानक और प्रभावी उपयोग प्रतीत होता है, और विभिन्न शाखाओं पर पूरी तरह से डिस्कनेक्ट किए गए संस्करण संख्या को बनाए रखने के बजाय, यह बताना आसान है किसी भी 1.4.7-स्नैपशॉट बिल्ड वास्तव में 1.4.7 रिलीज का एक पूर्ववर्ती था। वे संबंधित हैं। मैं इतना कहना चाहूंगा कि यदि आप इन शाखाओं के बीच आगे-पीछे विलय नहीं कर रहे हैं , तो आप SCM और मावेन दोनों को गलत कर रहे हैं, और आप खुद को उस कोड के विकास के लिए जोखिम में डाल रहे हैं जो उत्पादन से मेल नहीं खाता है फिर से उत्पादन, आदि के लिए कीड़े का परिचय।