Git: दो शाखाओं को प्रभावित करने वाले बग को ठीक करना


16

मैं अपने Git रेपो को एक सफल Git ब्रांचिंग मॉडल पर आधारित कर रहा हूं और सोच रहा था कि अगर आपके पास यह स्थिति है तो क्या होगा:

यहाँ छवि विवरण दर्ज करें

मान लीजिए कि मैं दो फीचर शाखाओं A और B पर विकसित हो रहा हूं, और B को A से कोड की आवश्यकता है। X नोड फीचर A में एक त्रुटि का परिचय देता है जो शाखा B को प्रभावित करता है, लेकिन यह नोड Y पर नहीं पाया जाता है, जहां A और B को विलय कर दिया गया था और परीक्षण फिर से बाहर शाखा और अगले पुनरावृत्ति पर काम करने से पहले आयोजित किया गया था।

परिणामस्वरूप, बग को नोड Z पर फीचर बी पर काम करने वाले लोगों द्वारा पाया जाता है। इस स्तर पर यह तय किया जाता है कि बगफिक्स की जरूरत है। यह सुविधा दोनों सुविधाओं पर लागू होनी चाहिए, क्योंकि फीचर A पर काम करने वाले लोगों को भी बग की जरूरत है, क्योंकि यह उनके फीचर का हिस्सा है।

क्या बगिफ़ शाखा को नवीनतम फ़ीचर A नोड (नोड Y से ब्रांचिंग) से बनाया जाना चाहिए और फिर फीचर A में विलय कर दिया जाना चाहिए? जिसके बाद दोनों सुविधाओं को फिर से विकसित करने और ब्रांच करने से पहले परीक्षण किया जाता है?

इसके साथ समस्या यह है कि समस्या को ठीक करने के लिए दोनों शाखाओं को विलय करने की आवश्यकता होती है। चूँकि फीचर B फीचर A में कोड को नहीं छूता है, क्या फिक्स को लागू करके नोड Y पर इतिहास को बदलने का एक तरीका है और अभी भी सुविधा B शाखा को अनियंत्रित रहने की अनुमति है फिर भी सुविधा A से निर्धारित कोड है?

हल्के से संबंधित: बग बग ब्रांचिंग सम्मेलन


6
क्या आप 'विकसित' शाखा में बग को ठीक नहीं कर सकते हैं और फिर इसे A और फीचर B दोनों में मिला सकते हैं?
tdammers

हम्म, ऐसा लगता है कि सबसे अच्छा होगा। फ़ीचर A में मर्ज विरोध हो सकता है, लेकिन मुझे लगता है कि यहाँ अपरिहार्य है।
अराम कोचरन

यदि आपने 'विकास' शाखा पर कोई और विकास नहीं किया है, और बगफिक्स 'सुविधा ए' शाखा में किसी भी परिवर्तन को ओवरलैप नहीं करता है, तो आपको कोई संघर्ष नहीं मिलेगा।
tdammers

जवाबों:



5

यकीनन, A या X में कोई बग नहीं है। शाखा B में बग को ठीक करें जहां यह पाया गया था। फिक्स एक्स और ए को घटनाओं के सामान्य पाठ्यक्रम में प्रचारित करेगा।


धन्यवाद, यह भी तब तक संभव है जब तक बग सुविधा को प्रभावित नहीं करता है
अराम कोचरन

0

हालांकि, एक लोकप्रिय वर्कफ़्लो नहीं git, एक वर्कफ़्लो जो मर्क्यूरियल में लोकप्रिय है X, संशोधन के लिए अद्यतन करना होगा , वहाँ बग को ठीक करें ( X2 के रूप में ) और उसके बाद फिर से मर्ज करें Y(जो मर्क्यूरियल में विलय की एक जोड़ी होगी)।

वास्तव में, यह वर्कफ़्लो तब से आसान है gitक्योंकि हर कोई 2 से स्विच Yकरने के बाद फिर मूल पर रिफ्यूज़ खो जाएगा और यह अंततः कचरा एकत्र हो जाएगा। में यदि आप स्वयं अपनी रिपोजिटरी को साफ़ रखने के लिए उन प्रतिबद्ध पट्टी पड़ता था।YYhg

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.