दिलचस्प पोस्ट
सी +11 रिवर्स रेंज-आधारित फॉर-लूप वर्तमान UITableViewController के ऊपर UIView को कैसे जोड़ें आईओएस में मूल खींचें और ड्रॉप वर्णों को जावा में पूर्णांक में परिवर्तित करना $ _SESSION चर कहाँ संग्रहीत हैं? किटकैट के लिए Android 5.0 सामग्री डिज़ाइन शैली नेविगेशन ड्रॉवर क्यों numpy.array इतना धीमा है? HTMLUnit ScriptException को कैसे दूर करना है? इकाई फ़्रेमवर्क के साथ SQL के लिए Linq में दिनांक समय प्रकार में समय के बिना केवल तिथि की तुलना कैसे करें? जब एक ही उपयोगकर्ता आईडी एकाधिक उपकरणों पर लॉग इन करने का प्रयास कर रहा है, तो मैं दूसरे उपकरण पर सत्र को कैसे मारूं? एक शब्द में सिलेबल्स का पता लगा रहा है जब मैं डेटाबेस / मॉडल से कोई ऑब्जेक्ट हटाता हूं, तो मैं फ़ाइलों को हटाने के लिए कैसे Django Admin प्राप्त कर सकता हूं? आप सी घोषणाओं को कैसे पढ़ा? "संरचना हैक" तकनीकी रूप से अपरिभाषित व्यवहार है? मैं एक आरजीबी छवि को ग्रेस्केल पर कैसे परिवर्तित कर सकता हूं, लेकिन एक रंग रखना चाहूंगा?

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

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

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

वेब के समाधान से एकत्रित समाधान "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