दिलचस्प पोस्ट
अनुप्रयोग के बीच अंतर क्या है। थ्रेड अपेशन और AppDomain.CurrentDomain.UnhandledException? क्या Windows 7 64-बिट पर VB6 IDE चलाता है? कास्टिंग: (न्यूटाइप) बनाम ऑब्जेक्ट के रूप में न्यूटिप ईएफ 4.1 – कोड प्रथम – JSON परिपत्र संदर्भ सीरियलाइज़ेशन त्रुटि मैं एंड्रॉइड टैब विजेट की पृष्ठभूमि कैसे बदलूं? मैं मास्टर / मूल के साथ अलग सिर कैसे सम्मिलित कर सकता हूं? क्या पॉइंटर्स के बारे में इन बयानों का एक ही प्रभाव है? मिश्रित सामग्री को अनुमति देने के लिए क्रोम कैसे प्राप्त करें? मैं स्विफ्ट में एक पूर्णता वाले हैंडल के साथ एक फ़ंक्शन कैसे बना सकता हूं? HTML5 संख्या इनपुट – हमेशा 2 दशमलव स्थान दिखाएं डोनाल्ड बी जॉनसन एल्गोरिदम में मदद, मैं छद्म कोड (भाग द्वितीय) को समझ नहीं सकता अंतिम सरणी सूची का क्या अर्थ है? पंक्ति का उपयोग कर एक मैट्रिक्स से इंडेक्स वैल्यू, कर्नल इंडेंटिस ऑफ़लाइन होने पर OKHttp के साथ रेट्रोफ़िट कैश डेटा का उपयोग कर सकते हैं ASP.NET वेब प्रपत्र में jQuery के सत्यापन प्लगइन

2-मार्गी विलय के मुकाबले एक 3-रास्ता विलय क्यों फायदेमंद है?

विकिपीडिया का कहना है कि 3-रास्ता मर्ज 2-रास्ता मर्ज की तुलना में कम त्रुटि प्रवण है, और कई बार उपयोगकर्ता हस्तक्षेप की आवश्यकता नहीं होती है यह एक केस क्यों है?

एक उदाहरण जहां 3-रास्ता मर्ज सफल होता है और 2-रास्ता मर्ज विफल रहता है, वह उपयोगी होगा।

Solutions Collecting From Web of "2-मार्गी विलय के मुकाबले एक 3-रास्ता विलय क्यों फायदेमंद है?"

कहो कि आपने और आपके मित्र दोनों ने एक फाइल की जांच की और इसके लिए कुछ बदलाव किए। आपने शुरुआत में एक पंक्ति निकाल दी है, और आपके मित्र ने अंत में एक पंक्ति जोड़ा है फिर उसने अपनी फाइल बनाई, और आपको अपनी प्रतिलिपि में अपने परिवर्तनों को मर्ज करने की आवश्यकता है।

यदि आप दो तरफा मर्ज (दूसरे शब्दों में, एक अंतर) कर रहे थे, तो उपकरण दो फाइलों की तुलना कर सकता है, और देखें कि पहली और अंतिम पंक्ति अलग-अलग हैं लेकिन यह कैसे पता चलेगा कि अंतर के साथ क्या करना है? क्या मर्ज किए गए संस्करण में पहली पंक्ति शामिल है? क्या इसमें अंतिम पंक्ति शामिल होनी चाहिए?

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

एक प्रस्तुति प्रस्तुति से यह स्लाइड दिलचस्प है:

वैकल्पिक शब्द

तीन तरह से मर्ज टूल का आवश्यक तर्क सरल है:

  • बेस, स्रोत और लक्ष्य फाइलों की तुलना करें
  • स्रोत और लक्ष्य फाइलों में "विखंडू" को पहचानें:
    • जो हिस्सा आधार से मेल नहीं खाते हैं
    • जो हिस्सा आधार से मेल खाते हैं
  • फिर, एक साथ मिलाया परिणाम को एक साथ रखा:
    • सभी 3 फाइलों में एक दूसरे से मिलान होने वाले भाग
    • खंड जो स्रोत से या लक्ष्य में आधार से मेल नहीं खाते, लेकिन दोनों में नहीं
    • जो हिस्सा आधार से मेल नहीं खाते, लेकिन ये एक-दूसरे से मेल खाते हैं (यानी, उन्हें स्रोत और लक्ष्य दोनों तरह से बदल दिया गया है)
    • विखंडन के लिए प्लेसहोल्डर, जो उपयोगकर्ता द्वारा हल किया जा सकता है।

ध्यान दें कि इस उदाहरण में "विखंडू" पूरी तरह प्रतीकात्मक हैं प्रत्येक एक फ़ाइल में लाइनों, या पदानुक्रम में नोड्स, या एक निर्देशिका में फ़ाइलों का प्रतिनिधित्व कर सकता है। यह सब उस पर निर्भर करता है जो एक विशेष मर्ज टूल में सक्षम है।

आप पूछ सकते हैं कि 2-रास्ता मर्ज पर 3-रास्ता मर्ज ऑफ़र क्या फायदे हैं दरअसल, दो तरह से विलय के रूप में ऐसी कोई चीज नहीं है, केवल टू-टू-टू-टू-टू-टू-फाईफ फाइलें हैं और आपको एक फाइल या दूसरे से चुने हुए विकल्प "मर्ज" करने की अनुमति मिलती है।
केवल एक 3-रास्ता मर्ज आपको यह पता करने की क्षमता देता है कि एक हिस्सा मूल से एक परिवर्तन है या नहीं और संघर्ष में परिवर्तन या नहीं।

मैंने इसके बारे में एक बहुत विस्तृत पोस्ट लिखी मूल रूप से आप दो-तरफ़, बहुत, बहुत अनुत्पादक के साथ हटाए / ट्रैक नहीं कर सकते।

एक तीन तरह से विलय होता है, जहां एक आधार फ़ाइल में दो परिवर्तनों को मर्ज कर दिया जाता है, क्योंकि वे लागू होते हैं, इसके परिणामस्वरूप एक दूसरे के साथ परिणाम मर्ज कर रहे हैं।

उदाहरण के लिए, दो परिवर्तन होने पर जहां एक स्थान को एक स्थान में जोड़ा जाता है, दो जोड़ों के रूप में एक दूसरे के रूप में अंतर हो सकता है, एक पंक्ति में बदलाव नहीं किया जा सकता है

उदाहरण के लिए

फ़ाइल को दो लोगों द्वारा संशोधित किया गया है, एक जोड़ moose, एक माउस जोड़ने।

#File a dog cat #diff b, a dog +++ mouse cat #diff c, a dog +++ moose cat 

अब, यदि हम परिवर्तनों को मर्ज करते हैं जैसे हम उन्हें लागू करते हैं, तो हम (3-रास्ता मर्ज) प्राप्त करेंगे

 #diff b and c, a dog +++ mouse +++ moose cat 

लेकिन अगर हम बी लागू करते हैं, तो बी से सी में बदलाव को देखें तो यह दिखेगा कि हम 'ओ' (2-रास्ता मर्ज) में 'यू' बदल रहे हैं।

  #diff b, c dog --- mouse +++ moose cat