2012-11-01 12 views
5

मैंने अक्सर यह सुना है कि गिट रिबेस का उपयोग करके विलय विलय के विरोध में विलय विवादों की संख्या कम हो जाती है, लेकिन मुझे इस बात का कोई स्पष्टीकरण नहीं मिला है कि यह मामला क्यों है।गिट रिबेस में अक्सर मर्ज की तुलना में कम विलय विवाद क्यों होते हैं?

बस परिवर्तनों के एक और सेट के शीर्ष पर परिवर्तनों का एक सेट फिर से चलाने से जादूगर रूप से अंतर्निहित संघर्ष को दूर नहीं किया जाता है जब दो लोग कोड की एक ही पंक्ति को संशोधित करते हैं, तो क्या बेहतर होता है?

क्या कोई एक साधारण उदाहरण प्रदान कर सकता है जहां विलय के संघर्ष होंगे लेकिन एक रिबेस नहीं होगा?

अद्यतन: गिट अनुभव के 3 अतिरिक्त वर्षों के बाद, मुझे विश्वास है कि मेरा मूल आधार गलत था: संघर्ष विद्रोह बनाम विलय में समान रूप से संभव है। रीबेज हालांकि इतिहास को समझने और चेरी लेने या आवश्यक होने पर रिवाइंड करने में आसान बनाता है।

+0

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

उत्तर

0

आप उस प्रतिबद्धता में संघर्ष को हल करते हैं जहां उन्हें पेश किया गया था, इसलिए असल में, आपके पास कोई भी नहीं है।

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

यदि मैं पुनर्जीवित करता हूं, तो यह उस प्रतिबद्धता को रोक देगा जहां मैंने यह परिवर्तन किया था और उस समय मैं संघर्ष से निपटता हूं।

+0

लगता है जैसे आप अभी भी संघर्ष को हल कर रहे हैं, बस एक अलग समय पर? मेरी समझ यह है कि यह वास्तव में उससे बेहतर है, और कुछ संघर्ष हैं जो तब भी नहीं होंगे जब आप विलय के बजाय रीबेज करते हैं। हालांकि इसकी पुष्टि देखना चाहते हैं। – Magnus

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