2012-11-07 14 views
19

रखने विलय मैं के लिए इसका उपयोग के लिए "मेरा रखना"Git मर्ज, दोनों

git merge -X ours foo 

और इस "रखना उनकी" के लिए

git merge -X theirs foo 

हालांकि मेरा नवीनतम मर्ज पर यह सबसे अच्छा दोनों रखने के लिए लग रहा है पक्षों। फ़ाइल को मैन्युअल रूप से संपादित करने से बचने के लिए गिट के पास "रणनीति" है?

+0

जवाब को स्वीकार करता है, तो यह उपयोगी आप – tinybyte

उत्तर

12

इन संघर्षों को हल करने के लिए कोई 'विलय रणनीति' नहीं है।

हालांकि, अगर आप वास्तव में की तरह एक संघर्ष हैं:

<<<< ours 
Foo 
========= 
Bar 
>>>> theirs 

Foo 
Bar 

को हल करने के लिए तो आप 'विलय ड्राइवर' कॉन्फ़िगर कर सकते हैं। gitattributes आदमी पृष्ठ से:

संघ

भागो 3-जिस तरह से फ़ाइल स्तर पाठ फ़ाइलों के लिए विलय, लेकिन इसके बजाय संघर्ष मार्करों छोड़ने की, दोनों संस्करणों से लाइनों ले। यह पर परिणामस्वरूप फ़ाइल में यादृच्छिक क्रम में जोड़े गए लाइनों को छोड़ देता है और उपयोगकर्ता को परिणाम सत्यापित करना चाहिए। यदि आप प्रभाव को समझते हैं तो इसका उपयोग न करें।

.gitattributes करने के लिए एक पंक्ति जोड़ें इस का उपयोग करने के लिए:

*.whatever merge=union 
+6

संघ "दोनों रखना" के लिए नक्शे नहीं करता है। यूनियन "दोनों को रखें" शून्य अंतरण। संसाधन फ़ाइलों जैसे एक्सएमएल पर "दोनों को रखने" की कोशिश करते समय यह बहुत असफल हो जाएगा। –

+0

यदि 2 diff शिकारी संघर्ष करते हैं, तो वे पूरी तरह से दोनों को रखा जाना प्रतीत होता है। – max630

+0

[यहां] (http://pastebin.com/LrnAEMLs) एक छोटा डेमो है – max630

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