मैगिट में एक फाइल पर हमारा / उनकी जांच कैसे करें?


16

मान लीजिए कि मेरा मर्ज संघर्ष है। मुझे इस तरह एक विवादित फ़ाइल दिखाई दे रही है:

Unstaged changes:
    Unmerged   Foo/bar/wibble/plop/elbow.txt

मैं परिवर्तनों को खोलने के लिए यहां टैब दबा सकता हूं और शायद हाथ से ठीक करने के लिए फ़ाइल के अंदर एक बिंदु पर कूद सकता हूं, लेकिन अगर यह बहुत सारी उलझनों के साथ एक बड़ी फ़ाइल है जो समय लेने वाली हो सकती है।

मैं संघर्ष के समाधान के लिए मैगिट के माध्यम से, फ़ाइल के हमारे या उनके संस्करण की जांच करने के लिए कैसे पूछ सकता हूं? मैं पथ को कॉपी कर सकता हूं, फिर Shift-:एक कस्टम गिट कमांड दर्ज करने के लिए उपयोग कर सकता हूं , लेकिन ऐसा लगता है कि इसके लिए एक कीबोर्ड शॉर्टकट होना चाहिए। मैं मैजिट मेनू या ?पॉप-अप में कुछ भी स्पष्ट नहीं देख सकता ।


3
हालांकि यह सीधे आपके प्रश्न का उत्तर नहीं देता है, लेकिन यह उपयोगी हो सकता है। 3-तरफ़ा विलय के साथ शुरू करने के लिए संघर्ष फ़ाइल पर बिंदु को स्थानांतरित करें magit-statusऔर दबाएं । एक अन्य विकल्प यह है कि एक संघर्ष बफर में, आप संघर्ष को उजागर करने के लिए चालू कर सकते हैं और अपने बफर में सही तरीके से इंटरैक्टिव विलय कर सकते हैं (एडिफ नहीं)। संबंधित आदेशों के लिए उपसर्ग कुंजी बाइंडिंग है ; आप सभी प्रमुख बाइंडिंग देखने के लिए दबा सकते हैं । eediffsmerge-modesmerge-modeC-c ^C-c ^ C-h
Tu Do

मुझे डॉक्टर में "हमारा" या "उनका" भी नहीं मिला। magit.github.io/master/magit.html#Pushing-and-Pulling
Ehvince

1
सुविधा अनुरोध खोलने के लिए एक अच्छा प्रश्न लगता है?
एहविंस

1
सुविचार @ ईश्वर, किया: github.com/magit/magit/issues/1643
tenpn

1
Oooh: मैगिट के अगले संस्करण में आप kएक कॉन्फिडेंस पर रख सकते हैं और कौन सा संस्करण चुनना है। यह बढ़िया है! github.com/magit/magit/issues/1643
दस

जवाबों:


16

मुझे यकीन नहीं है कि जब यह सुविधा जोड़ी गई थी, लेकिन यह पूरी तरह से करता है:

  1. एक शाखा को दूसरे में मिलाएं और एक संघर्ष का सामना करें
  2. मैगिट बफर में Merging master, और Unstaged changes, के लिए अनुभाग होंगे Staged changes। विवादित फ़ाइल में हैUnstaged changes
  3. विवादित फ़ाइल के साथ लाइन पर, kपरिवर्तनों को छोड़ने के लिए मारा (यानी, विवादित परिवर्तन)
  4. मिनीबफ़र में, आप उत्तर देखेंगे:

For <conflicted file> checkout: [o]ur stage, [t]heir stage, [c]onflict, or [C-g] to abort


5

कई समाधान हैं:

  • स्मार-एडिफ का उपयोग करें। संघर्ष के साथ फाइल में, आप चलाते हैं M-x smerge-ediff। यह आपको चार खुले बफर के साथ एडिफ़ रिज़ॉल्यूशन मोड में डाल देगा: आपका, उनका, मर्ज और कमांड बफर। कमांड बफ़र में, आप उपयोग करते हैं nऔर pअगले या पिछले हंक, "ए" या "बी" में जाने के लिए पहले या दूसरे बफर से परिवर्तन स्वीकार करते हैं, या आप मर्ज बफर में जा सकते हैं, और इसे अपनी पसंद के अनुसार संपादित कर सकते हैं।
  • Magit से ediff का उपयोग करें, Magit eके स्थिर संस्करण पर, या M-eया M-m( magit-ediff-resolve) magit की अगली शाखा में, और फिर आप अपने आप को पहले मामले में पसंद करेंगे
  • स्मार्ग-मोड भी है, C-c ^ nऔर C-c ^ pआपको एक हंक से पिछले या अगले एक पर जाने में मदद करेगा, फिर आप उन्हें संपादित कर सकते हैं, या C-c ^ o'अन्य' संस्करण रखने के लिए उपयोग कर सकते हैं, C-c ^ m'मेरा' संस्करण C-c ^ bरखने के लिए, पुराने को रखने के लिए संस्करण और C-c ^ aउन सभी को रखने के लिए।
  • आप फ़ाइल खोलने के लिए मैगिट-फाइंड-फाइल का उपयोग कर सकते हैं क्योंकि यह कुछ कमिट में था।

मैंने यह नहीं देखा था कि Tu Do के पास पहले से ही सबसे ज्यादा जवाब है जो मैंने यहां पोस्ट किया है। सॉरी
रेमी

व्यापक सूची के लिए धन्यवाद, लेकिन मुझे लगता है कि उत्तर "हमारा या थियर्स संस्करण प्राप्त करने का एक संक्षिप्त तरीका है" नहीं है। :(
तेनपैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.