Mercurial-अपरिवर्तित फ़ाइलों सहित सभी स्थानीय परिवर्तनों को कैसे छोड़ें?




(4)

उन चरणों को कम करने में सक्षम होना चाहिए :

hg pull
hg update -r MY_BRANCH -C

अद्यतन करने से पहले सभी स्थानीय परिवर्तनों को त्यागने के लिए -C ध्वज अद्यतन कमांड को बताता है।

हालांकि, यह अभी भी आपके भंडार में अनचाहे फ़ाइलों को छोड़ सकता है। ऐसा लगता है कि आप उनसे छुटकारा पाने के लिए भी चाहते हैं, इसलिए मैं इसके लिए purge विस्तार का उपयोग करूंगा:

hg pull
hg update -r MY_BRANCH -C
hg purge

किसी भी मामले में, कोई भी कमांड नहीं है जिसे आप Mercurial से ऐसा करने के लिए कह सकते हैं जो आप यहां चाहते हैं, सिवाय इसके कि यदि आप उस प्रक्रिया को "पूर्ण क्लोन" विधि में बदलते हैं, जिसे आप कहते हैं कि आप नहीं कर सकते हैं।

मैं Mercurial का उपयोग करने के लिए एक निर्माण प्रक्रिया को स्थानांतरित कर रहा हूं और कार्य निर्देशिका को टिप संशोधन की स्थिति में वापस लेना चाहता हूं। निर्माण प्रक्रिया के पहले रनों ने कुछ फाइलों को संशोधित किया होगा और कुछ फाइलें जो मैं नहीं करना चाहता हूं, इसलिए मेरे पास स्थानीय परिवर्तन और फ़ाइलें हैं जो भंडार में नहीं जोड़े गए हैं।

उन सभी को त्यागने और एक स्वच्छ कार्यशील निर्देशिका प्राप्त करने का सबसे आसान तरीका क्या है जिसमें नवीनतम संशोधन है?

वर्तमान में मैं यह कर रहा हूं:

hg revert --all
<build command here to delete the contents of the working directory, except the .hg folder.>
hg pull
hg update -r MY_BRANCH

लेकिन ऐसा लगता है कि एक आसान तरीका होना चाहिए।

मैं रेपो हटाने, ताजा क्लोन करने और एक अद्यतन करने के बराबर करना चाहता हूं। लेकिन रिपो पर्याप्त तेज़ होने के लिए बहुत बड़ा है।


यदि आप एक ऐसी विधि की तलाश में हैं जो आसान है , तो आप इसे आजमा सकते हैं।

मैं अपने सभी उपकरणों के लिए कमांडलाइन को शायद ही याद रख सकता हूं, इसलिए मैं यूआई का उपयोग करके ऐसा करता हूं:

1. सबसे पहले, "प्रतिबद्ध" का चयन करें

2. फिर, अनदेखा फ़ाइलों को प्रदर्शित करें। यदि आपके पास असामान्य परिवर्तन हैं, तो उन्हें छुपाएं।

3. अब, उन सभी का चयन करें और "अनवरोधित हटाएं" पर क्लिक करें।

किया हुआ। यह एक प्रक्रिया है जो कमांडलाइन सामान की तुलना में याद रखना कहीं अधिक आसान है।


एचजी स्थिति आपको सभी नई फाइलें दिखाएगी, और फिर आप उन्हें आरएम कर सकते हैं।

आम तौर पर मैं अनदेखा और विचलित फाइलों से छुटकारा पाना चाहता हूं, इसलिए:

hg status -iu                          # to show 
hg status -iun0 | xargs -r0 rm         # to destroy

और फिर इसके साथ पालन करें:

hg update -C -r xxxxx

जो संशोधित xxxx के लिए सभी संस्करण फ़ाइलों को सही स्थिति में रखता है

स्टैक ओवरफ्लो परंपरा का पालन करने के लिए आपको यह बताना है कि आप ऐसा नहीं करना चाहते हैं, मुझे अक्सर लगता है कि इस "परमाणु विकल्प" ने उन चीज़ों को नष्ट कर दिया है जिनकी मुझे परवाह है।

ऐसा करने का सही तरीका है कि अपनी बिल्ड प्रक्रिया में 'साफ करें' विकल्प हो, और हो सकता है कि 'वास्तव में' और 'विचलित करें' भी हो।


hg up -C

यह सभी शाखाओं को हटा देगा और वर्तमान शाखा में नवीनतम शीर्ष पर अपडेट होगा।

और आप सभी अपरिवर्तित फ़ाइलों को भी हटाने में सक्षम होने के लिए शुद्ध एक्सटेंशन चालू कर सकते हैं।







mercurial