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