Git मर्ज संघर्ष में, कौन सी BACKUP, BASE, LOCAL और REMOTE फाइलें उत्पन्न होती हैं?


122

मुझे लगता है कि LOCAL और REMOTE फाइलें सिर्फ उनका नाम बताती हैं, लेकिन BASE और BACKUP क्या हैं?

जवाबों:


166

Git उन तीन शाखाओं का विलय करता है, जिन दो शाखाओं को आप विलय कर रहे हैं, उनके सामान्य पूर्वज (उर्फ "मर्ज बेस") को खोजते हैं। जब आप git mergetoolकिसी संघर्ष पर आह्वान करते हैं , तो यह इन फ़ाइलों को एक विशिष्ट 3-वे मर्ज टूल में खिलाने के लिए उपयुक्त होगा। इस प्रकार:

  • foo.LOCAL: संघर्ष के "हमारे" पक्ष - यानी, आपकी शाखा ( HEAD) में मर्ज के परिणाम होंगे
  • foo.REMOTE: संघर्ष के "उनके" पक्ष - जिस शाखा में आप विलय कर रहे हैं HEAD
  • foo.BASE: सामान्य पूर्वज। तीन-तरफ़ा मर्ज टूल में खिलाने के लिए उपयोगी है
  • foo.BACKUP: मर्ज टूल को लागू करने से पहले फ़ाइल की सामग्री, फाइलसिस्टम पर रखी जाएगी यदि mergetool.keepBackup = true

9
सं LOCALमें संस्करण है HEADBACKUPआपके द्वारा इनवाइट करने से पहले जो वर्जन डिस्क पर था mergetool। इसमें शायद diff3 संघर्ष मार्कर शामिल हैं और आप इसे लागू करने से पहले संपादित कर सकते हैं mergetool
एडवर्ड थॉमसन

2
यहां यह भी देखें: stackoverflow.com/questions/11133290/git-merging-using-meld
crafter

यहाँ एक अच्छा लेख है जो तीन तरह के विलय सहित विलय के मामलों की व्याख्या कर रहा है: git-scm.com/book/en/v2/…
qatz

16
LOCAL / REMOTE शब्द किसी तरह से भ्रामक है, मुझे लगता है कि वे "मेरे परिवर्तन" / "दूरस्थ परिवर्तन" का उल्लेख कर रहे हैं, लेकिन वास्तव में आमतौर पर "मास्टर में विलय" के संदर्भ में, LOCAL लक्ष्य शाखा है जो अन्य संशोधन और REMOTE है स्रोत शाखा है जो मेरे संशोधन हैं। :)
TingQian LI

8
वे हैं ... क्या आप एक रिबेस कर रहे हैं? क्योंकि एक खंडन में पक्ष उलटे होते हैं।
एडवर्ड थॉमसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.