2011-03-17 10 views
7

हम इस प्रक्रिया का उपयोग मर्ज कोशिश करने के लिए:मर्क्युरियल - बुनियादी प्रक्रिया किसी मर्ज वापस लौटने और फिर से

cd c:\myapp 
hg pull ssh://hg/myapp-1_0_1 
hg merge 

कभी कभी हम मर्ज गंदगी या कभी कभी हम कोई त्रुटि मिलती है अब (यानी: "मर्ज नहीं कर सकते फ़ाइल xxx - उपयोग में फाइल ")। आम तौर पर मैं सिर्फ अपने सी: \ myapp repo, रिमोट मास्टर रेपो से फिर से क्लोन हटा देता हूं और शुरू करता हूं। यह काम करता है लेकिन यह एक दर्द है। एक बेहतर तरीका क्या है?

मैंने hg update -C का उपयोग करने के बारे में पढ़ा है लेकिन मैं प्रक्रिया पर स्पष्ट नहीं हूं। तो आप hg update -C करेंगे, यह विलय की गई फ़ाइलों को हटा देगा लेकिन उन परिवर्तनों को बनाए रखेगा जिन्हें खींचा गया था, और फिर आप hg merge आदेश फिर से जारी करेंगे और पुनः प्रयास करेंगे?


अद्यतन के बारे में संबंधित question: hg update -C अभी भी रेपो जो hg pull साथ नीचे खींच लिया गया में changesets रहता है - कैसे आप उन लोगों में से छुटकारा पा सकते हैं?

+3

'एचजी अपडेट-सी' में 'सी' एक परिवर्तन के लिए प्लेसहोल्डर नहीं है। यह सिर्फ वर्णमाला का पुराना पूंजी तीसरा अक्षर है। –

+0

Thx - अद्यतन पोस्ट। –

+0

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

उत्तर

14

hg update -C बस एकदम सही है देखें। आप खींचे गए परिवर्तनों से छुटकारा क्यों लेना चाहते हैं? चूंकि अद्यतन कमांड खींचने वाले परिवर्तनों के सिर को अपडेट करता है? यदि खींचने वाले परिवर्तनों में यह आपकी समस्या है, तो hg update -C <revision-of-your-local-head> चलाएं और खींचे गए परिवर्तनों की परवाह न करें, शायद आप उन्हें किसी भी समय फिर से खींच लेंगे। अपडेट के बाद अपना काम आगे बढ़ें या फिर मर्ज करने का प्रयास करें।

हालांकि, यदि आप वास्तव में खींचने वाले परिवर्तनों से छुटकारा पाने के लिए चाहते हैं, तो strip कमांड का उपयोग करें।

3

इस पोस्ट How to abandon a hg merge?

+1

मेरी याददाश्त आज सबसे अच्छी नहीं है ... जब मैंने यह सवाल देखा तो मैं अपने * पूछे गए * प्रश्नों को देखकर गया, क्योंकि मुझे पता था कि मैंने इससे पहले पूछा था। जाहिर है मैंने * उत्तर दिया * यह। मुझे लगता है मुझे और कॉफी चाहिए ... –

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