2010-10-20 12 views
68

मैं एक विलय गुमराह किया। मैं फिर से प्रयास करना चाहता हूं फिर कोशिश करें।
क्या यह प्रतिबद्ध होने से पहले विलय को वापस करने का कोई तरीका है?Mercurial में एक विलय को कैसे रद्द करें?

hg revert जो मैं चाहता हूं वह नहीं करता है, यह केवल फाइलों के पाठ को उलट देता है। मूल विलय विलय और शिकायत करने पर मेरा दूसरा प्रयास Mercurial aborts अभी भी असामान्य है।

क्या hg merge कमांड के बाद मर्ज को पूर्ववत करने का कोई तरीका है लेकिन इससे पहले कि यह प्रतिबद्ध हो?

+0

की संभावित डुप्लिकेट [एक एचजी मर्ज का परित्याग करने के लिए कैसे?] (Http://stackoverflow.com/questions/2570087/how-to-abandon-a-hg-merge) – Rodrigue

उत्तर

86

hg update -C <one of the two merge changesets>

+0

, सरल, कुशल और, मैं सोचो, इसे करने का सबसे अच्छा तरीका! : डी –

+37

एक और तरीका बस 'एचजी अपडेट - स्कैनन' है। –

+1

-c (लोअरकेस) के साथ उलझन में नहीं है! – SystemParadox

35

आप hg merge करने के बाद, लेकिन hg commit से पहले, अपने काम की नकल दो माता-पिता है: पहली माता पिता changeset आप इससे पहले कि मर्ज और दूसरे माता पिता changeset आप के साथ विलय कर रहे हैं अद्यतन किया था। Mercurial आपको hg merge फिर से करने की अनुमति नहीं देगा जब तक कि आपकी कार्यशील प्रति में दो माता-पिता हों। तुम कहाँ शुरू कर दिया आप मर्ज गर्भपात और वापस करने के लिए प्राप्त करना चाहते हैं

  1. , तो

    hg update -C . 
    

    यह काम कर प्रति अपडेट कर देगा:

    आप दो में आगे बढ़ने के विकल्प हैं पहले माता-पिता से मिलान करने के लिए: . हमेशा काम करने वाली प्रति के पहले माता-पिता को दर्शाता है।

  2. आप फिर से विलय कुछ फ़ाइलों करना चाहते हैं तो

    hg resolve fileA fileB 
    

    इस मर्ज उपकरण फिर से शुभारंभ करेंगे बस के रूप में जब आप hg merge किया था। यदि आप hg merge पर पता लगाते हैं तो संकल्प आदेश अच्छा होता है-जब आपका विलय टूल बुरी तरह कॉन्फ़िगर किया जाता है: कॉन्फ़िगरेशन को ठीक करें और hg resolve --all चलाएं। आप जितनी बार चाहें hg resolve चला सकते हैं जब तक आप विलय से संतुष्ट न हों।

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