version control Mercurial में एक विलय को कैसे रद्द करें?




version-control merge (2)

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

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

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


hg merge करने के बाद, लेकिन hg commit से पहले, आपकी कामकाजी प्रति में दो माता-पिता होते हैं: पहला माता-पिता वह बदलाव होता है जिसे आपने विलय से पहले अपडेट किया था और दूसरा माता-पिता उस बदलाव के साथ विलय कर रहा है जिसमें आप विलय कर रहे हैं। Mercurial आपको तब तक hg merge करने की अनुमति नहीं देगा जब तक कि आपकी कार्यशील प्रति में दो माता-पिता हों।

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

  1. यदि आप मर्ज को रद्द करना चाहते हैं और जहां आपने शुरू किया था, तो वापस आएं

    hg update -C .
    

    यह पहले माता-पिता से मेल खाने के लिए कार्यशील प्रति को अद्यतन करेगा . हमेशा काम करने वाली प्रति के पहले माता-पिता को दर्शाता है।

  2. अगर आप कुछ फाइलों को फिर से मर्ज करना चाहते हैं तो करें

    hg resolve fileA fileB
    

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


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







undo