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