एक चाहिए केवल करने के लिए और माता पिता के शाखा से मर्ज करें। इसके लिए feature-a-sub
, यह feature-a
नहीं है development
।
दादा-दादी शाखा में विलय करने का मतलब है कि मूल शाखा को बनाया गया कारण पूरा नहीं किया गया है, और हाँ, जैसा कि यह उल्लेख करता है कि भविष्य की समस्याएं पैदा होती हैं जहां विकास जारी रहता है feature-a
और development
कोड लाइनों की वृद्धि हुई विचलन के लिए अग्रणी होता है और अधिक संघर्ष नीचे गिर जाते हैं। सड़क।
यह मान रहा था कि feature-a-sub
कोड में निर्भर है feature-a
। यदि feature-a-sub
इसके बजाय स्वतंत्र था feature-a
, तो इसे बिल्कुल भी ब्रांच नहीं किया feature-a
जाना चाहिए था और इसके बजाय ब्रांच किया जाना चाहिए था (और विलय) development
।
अगर काम करने की feature-a
ज़रूरत feature-a-sub
है (यह सुनिश्चित नहीं है कि यह feature-a
बिना किसी मर्ज के जारी काम के रूप feature-a-sub
में है), और feature-a-sub
से स्वतंत्र था feature-a
, feature-a-sub
इसके बजाय feature-b
एक शाखा से होना चाहिए development
, एक मर्ज वापस में development
और फिर या तो एक मर्ज ( development
या feature-b
यदि एक नहीं होता) 'विकास से अन्य परिवर्तन नहीं करना चाहते) feature-a
।
वर्कफ़्लो या तो होना चाहिए:
o
|
o development
|\
| o feature-a
| |
| o
| |\
| | o feature-a-sub
| | |
| | |
| | |
| | o merged feature-a into feature-a-sub
| |/
| o feature-a-sub merged into feature-a
| |
| o feature-a with future work on it
|
o development
या
o
|
o development
|\
| \
| \
| o feature-a
|\ |
| b | feature-b
| | |
| | |
| | |
| b | feature-b complete
|/ \|
o o feature-b merged to development and feature-a
| |
| o feature-a with future work on it
संबंधित - ब्रांचिंग के दर्शन पर मेरा एक पसंदीदा पढ़ा : उन्नत एससीएम ब्रांचिंग रणनीतियाँ । जबकि श्वेत पत्र को केंद्रीकृत संस्करण नियंत्रण प्रणालियों को लक्षित किया जाता है, प्रत्येक शाखा की भूमिकाओं के पीछे के विचार यह सुनिश्चित करने में महत्वपूर्ण होते हैं कि आप समझ रहे हैं कि क्या चल रहा है और किसी भी शाखा के साथ आगे क्या किया जाना चाहिए इसके बारे में कारण हो सकते हैं।