तोड़फोड़ में गिट फ्लो का उपयोग करने में बाधाएं


10

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

मैंने अलग-अलग ब्रांचिंग मॉडल को जटिल माना है, लेकिन एक मॉडल जिसे मैं स्पष्ट रूप से समझता हूं वह है जीआईटी प्रवाह । मुझे उत्सुकता है कि तोड़फोड़ में इस की भिन्नता को लागू करना कितना कठिन / अवांछनीय होगा। जाहिर है कि शाखाओं पर सहयोग करने वाले लोगों के संदर्भ में कुछ अंतर होगा। फीचर शाखाओं को स्थानीय रिपॉजिटरी तक सीमित करने के बजाय केंद्रीकृत करना होगा, लेकिन मॉडल की अन्य अवधारणाएं सबवर्सन में पुन: प्रयोज्य होनी चाहिए क्योंकि मैं इसे समझता हूं।

इस दृष्टिकोण के लिए क्या कमियां या चुनौतियां होंगी। मैंने सुना है कि SVN में "मर्जिंग महंगा है" Git के सापेक्ष। लेकिन मैं इस बात पर पूरी तरह से स्पष्ट नहीं हूँ कि व्यवहार में इसका क्या मतलब है या यह हमारी क्षमता को कैसे प्रभावित करेगा जैसे कि ब्रांचिंग मॉडल की तरह।

इस दृष्टिकोण के साथ सबसे बड़ी चिंता क्या होगी। क्या एक समान स्पष्ट दृष्टिकोण है जो तोड़फोड़ में अधिक स्वाभाविक है?

जवाबों:


12

Gitflow स्रोत कोड वर्जनिंग और ब्रांचिंग की सर्वोत्तम प्रथाओं पर आधारित है। इस पर एक बहुत अच्छा लेख एडवांस्ड एससीएम ब्रांचिंग रणनीतियाँ हैं

जुड़े लेख में वेंस ने जो बात कही है वह यह है कि विभिन्न शाखाओं की अलग-अलग भूमिकाएँ हैं । वह इन भूमिकाओं की पहचान करता है:

  1. मेनलाइन (यहाँ से सभी शाखाएँ)
  2. विकास (जहां विकास कार्य किया जाता है)
  3. रखरखाव (जहां रखरखाव का काम किया जाता है)
  4. संचय (रिलीज की तैयारी में चीजों को एक साथ लाना)
  5. पैकेजिंग (रिलीज के लिए निर्माण की पैकेजिंग)

Gitflow में, ये हैं:

  1. विकसित करना
  2. सुविधा शाखाओं
  3. हॉटफ़िक्स शाखाएँ
  4. रिलीज शाखाएं
  5. गुरुजी

ब्रांचिंग पर लेख पेरफोर्स को ध्यान में रखकर लिखा गया था। Perforce एक केंद्रीकृत VCS है, जैसे svn है। ब्रांचिंग के पैटर्न जो वह svn के लिए पूरी तरह से नक्शे का वर्णन करता है।

एहसास करने की कुंजी यह है कि इसकी नहीं gitflow कैसे svn के लिए रखी जाती है, बल्कि ब्रांचिंग की समान मौलिक अवधारणाओं और विभिन्न VCS संरचनाओं को शाखाओं की भूमिकाओं को कैसे लागू किया जाए।

मैं लेख को पढ़ने की जोरदार सलाह दूंगा, मैं इसका ज्यादा श्रेय नहीं ले सकता। जिस तरह से चीजों का वर्णन किया गया है वह एक ट्रंक / मेनलाइन बिल्ड दर्शन से दूर है जो आपको svn से मैप करना आसान होगा।


1
Gitflow के डिजाइन का नेतृत्व करने वाले विचारों पर वापस जाना मूल प्रश्न की एक चतुर वृद्धि है!
user40989

@ user40989 मुझे यकीन नहीं हो रहा है कि विन्सेन्ट ड्रिस्सेन (एनवीआई) ने लेख पढ़ा है या नहीं जो ब्रांचिंग की इस अवधारणा को आगे बढ़ाते हैं, या यदि उन्होंने अपने दम पर इसे दोबारा खोजा है। किसी भी तरह से, संस्करण नियंत्रण के माध्यम से काम करने के प्रवाह के लिए आवश्यक भूमिका की मान्यता दृष्टिकोण और सर्वोत्तम प्रथाओं के बीच समानताएं देखना आसान बनाती है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.