2013-06-10 7 views
5

हम रूपरेखा और एक Git एकीकरण के लिए तैयार करने की प्रक्रिया में हैं और हम नीचे दिए गए लिंक को एक समान डिजाइन को लागू कर रहे हैं।Git निरंतर एकीकरण मर्ज को संभालने के लिए कैसे का विरोध करता

http://nvie.com/posts/a-successful-git-branching-model/

मुद्दा हम सामना कर रहे हैं जब आप के लिए प्रतिबद्ध हैं और 'विकसित' शाखा या सतत एकीकरण शाखा करने के लिए धक्का, क्योंकि हम कई विभिन्न शाखाओं कार्य करने वाली टीम है, तो आप मर्ज संघर्ष में चलाने के लिए बाध्य कर रहे हैं चूंकि आप कभी भी धक्का देने से पहले 'विकास' से नीचे नहीं हटेंगे। यह किसी भी ज्ञान के बारे में कुछ नहीं होने की कोशिश करने और हल करने के लिए दबाव डालने वाली टीम के लिए सर्वोत्तम अभ्यास की तरह प्रतीत नहीं होता है।

एक विचार हम था 'विकसित' शाखा पर एक पुल अनुरोध कर रहा था और एक टीम उन को हल करने के लिए समर्पित कर रहे हैं।

क्या वे कोई विकल्प हैं जो हम गायब हैं?

उत्तर

2

सुविधा शाखाओं के पीछे विचार यह है कि वे केवल एक छोटा सा, परमाणु परिवर्तन को शामिल करना चाहिए है। इस परिवर्तन को, सिद्धांत रूप में अपनी प्रकृति के कारण संघर्ष विलय नहीं करना चाहिए।

एक सुविधा पेश कर रहा है, तो इस विलय के विरोध मैं और अधिक जांच करने के लिए आप क्या "एक विशेषता" पर विचार के लिए इच्छुक हो जाएगा।

तरह से मैं यह शुरू किया जा रहा अनुभव किया है कि एक विशेषता है एक विशेष कार्य जो (समय के संदर्भ में) से अधिक नहीं एक या दो दिन का होना चाहिए करने के लिए संबंधित है।

इस छोटे से समय को देखते हुए यह असंभव है कि विलय विलय चक्र के दौरान उत्पन्न होगा, लेकिन यदि वे ऐसा करते हैं, तो उदाहरण के लिए कहें कि जब आपके पास कोडेबेस के उसी क्षेत्र में कई टीम काम कर रही हैं, तो संचार स्तर यह सुनिश्चित करने के लिए कि संघर्ष सही तरीके से हल हो जाएं।

विभिन्न मॉडलों क्या आप संघर्ष समाधान प्रबंधन में मदद करने के लिए आवेदन कर सकते हैं कर रहे हैं। हम एक क्षैतिज स्लाइसिंग मॉडल पर काम करते हैं जिसमें कई टीमों को कोडबेस के किसी विशेष क्षेत्र में बदलाव की आवश्यकता होती है, इसे उस टीम को सौंपा जाता है जिसकी परियोजना में पूरे मॉड्यूल को शामिल किया गया है। आपकी कंपनी एक ऊर्ध्वाधर स्लाइसिंग मॉडल में अधिक रुचि रख सकती है, जिस स्थिति में आप टीमों में विलय विवादों में भाग लेने की संभावना कम करते हैं।

कोई भी टूलिंग संघर्ष समाधान के लिए वार्तालाप को हरा नहीं सकती है। यदि आप जानते हैं कि आपके परिवर्तन किसी फ़ाइल पर असर डालने जा रहे हैं जो कोई और काम कर रहा है, तो पालन करने का सबसे अच्छा मॉडल एक वार्तालाप है।

कुछ स्थितियों में यह आदर्श नहीं होगा, व्यवसाय के बारे में अन्य विचार हो सकते हैं कि किसके परिवर्तन बाहर निकलते हैं, लेकिन जब तक प्रत्येक डेवलपर अपनी सुविधा शाखा को विकसित होने के साथ अद्यतित रखता है तो संघर्ष के लिए प्रवृत्ति बहुत कम हो जाती है।

0

आप हैं:

  1. पहले हर धक्का से पहले पुल, और
  2. उपयोग एक pre-tested commit strategy

यह एक समस्या कभी नहीं होगा। आपके विलय संघर्ष हमेशा विकास मशीनों पर होंगे जहां आप उन्हें मैन्युअल रूप से संबोधित कर सकते हैं।

संबंधित मुद्दे