हम वेब एप्लिकेशन को बनाए रखते हैं जिसमें सामान्य मास्टर शाखा और कई समानांतर शाखाएं होती हैं, प्रत्येक स्थापना के लिए, प्रत्येक में कुछ विशिष्ट परिवर्तन होते हैं। स्रोत कोड को git में प्रबंधित किया गया है और यह बहुत बढ़िया उपकरण है जब हमें मास्टर शाखा से ट्रांसफर फीचर्स और बगफिक्स की समानांतर समानांतर में आवश्यकता है। लेकिन कुछ फाइलें ऐसी होती हैं जो संवेदनशील और स्वचालित विलय से आमतौर पर खराब परिणाम देती हैं। इसलिए मर्ज करना बहुत आसान होगा अगर उन्हें किसी तरह चिह्नित किया जा सके और हर मर्ज के परिणामस्वरूप मैनुअल मर्ज की आवश्यकता हो।
मैंने उत्तर की तलाश की:
- मैं -no-प्रतिबद्ध और --no-ff मर्ज विकल्पों का उपयोग कर रहा हूं , लेकिन यह समान नहीं है।
- यहाँ और यहाँ कोई एक ही सवाल पूछता है लेकिन कोई हल नहीं है।
- इसी प्रकार के मामले हो रहा है फ़ाइल से किया जा रहा विलय कर दिया रोकने के लिए कैसे : युक्त .gitattributes का उपयोग कर somefile.php मर्ज = हमारा । मैंने कुछ मर्ज विकल्प खोजने की कोशिश की जो संघर्ष या बल मैनुअल मर्ज उत्पन्न करेगा लेकिन अब तक कोई नहीं मिला।
- .gitattributes युक्त: somefile.php -merge को स्वचालित रूप से मर्ज नहीं किया जाता है और इसलिए मैन्युअल मर्ज को मजबूर किया जाता है। यह 90% समाधान है, लेकिन जो मैं चाहता हूं वह स्वचालित मर्ज की कोशिश करना है और इसे संघर्ष के रूप में चिह्नित करना है चाहे यह सफल हो या न हो। लेकिन यह अब तक समाधान के सबसे करीब है। (... स्पष्टीकरण के लिए धन्यवाद चार्ल्स बेली ...)
- कोई व्यक्ति कस्टम मर्ज ड्राइवर ( 1 , 2 ) लिखने का सुझाव देता है , लेकिन यह कैसे करना है यह मेरे लिए स्पष्ट नहीं है।
संपादित करें: संस्करण 4. विवरण
git fetch
पहले करता हूं , फिर उपयोग करताgit difftool <file> FETCH_HEAD
हूं, इसलिए मैं रिमोट शाखा में परिवर्तन को स्थानीय रूप से मैन्युअल रूप से लागू कर सकता हूं।