Git-merge के मैन पेज से, कई मर्ज की रणनीतियाँ हैं जिनका आप उपयोग कर सकते हैं।
हल - यह केवल 3-सिर मर्ज एल्गोरिथ्म का उपयोग करके दो सिर (वर्तमान शाखा और आपके द्वारा खींची गई एक अन्य शाखा) को हल कर सकता है। यह सावधानी से क्रॉस-क्रॉस मर्ज अस्पष्टता का पता लगाने की कोशिश करता है और इसे आमतौर पर सुरक्षित और तेज माना जाता है।
पुनरावर्ती - यह केवल 3-मर्ज एल्गोरिथ्म का उपयोग करके दो सिर को हल कर सकता है। जब 3-वे मर्ज के लिए एक से अधिक सामान्य पूर्वजों का उपयोग किया जा सकता है, तो यह सामान्य पूर्वजों का एक विलय वृक्ष बनाता है और 3-तरफा मर्ज के लिए संदर्भ ट्री के रूप में उपयोग करता है। यह लिनक्स 2.6 कर्नेल विकास के इतिहास से लिए गए वास्तविक मर्ज कमिट पर किए गए परीक्षणों द्वारा गलत मर्ज किए बिना कम मर्ज संघर्ष का परिणाम बताया गया है। इसके अतिरिक्त यह नाम शामिल करने वाले मर्ज का पता लगा सकता है और संभाल सकता है। एक शाखा को खींचने या विलय करने पर यह डिफ़ॉल्ट मर्ज की रणनीति है।
ऑक्टोपस - यह दो-सिर वाले मामले से अधिक हल करता है, लेकिन जटिल मर्ज करने से इनकार करता है जिसे मैनुअल रिज़ॉल्यूशन की आवश्यकता होती है। यह मुख्य रूप से विषय शाखा प्रमुखों को एक साथ बांधने के लिए उपयोग किया जाता है। एक से अधिक शाखाओं को खींचने या विलय करने पर यह डिफ़ॉल्ट मर्ज की रणनीति है।
हमारा - यह किसी भी संख्या में प्रमुखों को हल करता है, लेकिन मर्ज का परिणाम हमेशा वर्तमान शाखा प्रमुख होता है। इसका उपयोग साइड ब्रांचों के पुराने विकास के इतिहास को बताने के लिए किया जाता है।
सबट्री - यह एक संशोधित पुनरावर्ती रणनीति है। पेड़ों को ए और बी को विलय करते समय, यदि बी ए के एक उप-वर्ग से मेल खाती है, तो बी को पहले उसी स्तर पर पेड़ों को पढ़ने के बजाय, ए के पेड़ की संरचना से मेल खाने के लिए समायोजित किया जाता है। यह समायोजन सामान्य पूर्वज वृक्ष के लिए भी किया जाता है।
मुझे डिफ़ॉल्ट से कुछ अलग कब निर्दिष्ट करना चाहिए? प्रत्येक के लिए कौन से परिदृश्य सर्वश्रेष्ठ हैं?