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