यहाँ आज्ञाओं पर धोखा पत्र है:
hg updateअपनी कार्यशील प्रति अभिभावक संशोधन को बदल देता है और इस नए अभिभावक संशोधन से मेल करने के लिए फ़ाइल सामग्री भी बदलता है। इसका मतलब यह है कि आपके द्वारा अपडेट किए गए संशोधन से नए कमिट होंगे।
hg revertकेवल फ़ाइल सामग्री को बदलता है और कार्यशील प्रति अभिभावक संशोधन को अकेला छोड़ देता है। आप आम तौर पर उपयोग hg revertकरते हैं जब आप यह निर्णय लेते हैं कि आप अपने काम की कॉपी में फ़ाइल में किए गए परिवर्तन नहीं करना चाहते हैं।
hg branchएक नई नामित शाखा शुरू करता है। एक लेबल के रूप में नामित शाखा के बारे में सोचें जो आप परिवर्तन करने वालों को देते हैं। इसलिए यदि आप करते हैं hg branch red, तो निम्नलिखित परिवर्तनों को "लाल" शाखा पर संबंधित के रूप में चिह्नित किया जाएगा। यह परिवर्तनों को व्यवस्थित करने का एक अच्छा तरीका हो सकता है, खासकर जब विभिन्न लोग विभिन्न शाखाओं पर काम करते हैं और आप बाद में देखना चाहते हैं कि एक परिवर्तन कहाँ से उत्पन्न हुआ है। लेकिन आप इसे अपनी स्थिति में उपयोग नहीं करना चाहते हैं।
यदि आप उपयोग करते हैं hg update --rev 38, तो 39-45 के बदलावों को एक मृत अंत के रूप में छोड़ दिया जाएगा - एक झूलने वाला सिर जिसे हम कहते हैं। जब आप धक्का देते हैं तो आपको एक चेतावनी मिल जाएगी जब आप "पुश करने वाले भंडार" में "कई सिर" बनाएंगे। चेतावनी यह है कि यह इस तरह के प्रमुखों को छोड़ने के लिए एक तरह से अयोग्य है क्योंकि वे सुझाव देते हैं कि किसी को मर्ज करने की आवश्यकता है। लेकिन आपके मामले में आप बस आगे बढ़ सकते हैं और hg push --forceचूंकि आप वास्तव में इसे लटकाना छोड़ना चाहते हैं।
यदि आपने अभी तक संशोधन को 39-45 कहीं और धकेल नहीं दिया है, तो आप उन्हें निजी रख सकते हैं। यह बहुत सरल है: आपके साथ hg clone --rev 38 foo foo-38एक नया स्थानीय क्लोन मिलेगा जिसमें केवल संशोधन 38 तक शामिल हैं। आप अपने द्वारा बनाए जा रहे foo-38नए (अच्छे) परिवर्तनों को जारी रख सकते हैं। आपके fooक्लोन में अभी भी पुराने (खराब) संशोधन होंगे । (आप अपने इच्छित तरीके क्लोन का नाम बदलने के लिए स्वतंत्र हैं, जैसे, fooके लिए foo-badऔर foo-38करने के लिए foo।)
अंत में, आप भी उपयोग कर सकते हैं hg revert --all --rev 38और फिर प्रतिबद्ध कर सकते हैं । यह एक संशोधन 46 बनाएगा जो संशोधन के समान दिखता है। आप फिर से संशोधन 46 से काम करना जारी रखेंगे। यह अभ्यस्त इतिहास में एक स्पष्ट तरीके से एक कांटा नहीं बनाता है जैसा hg updateकि किया था, लेकिन दूसरी ओर आप अभ्यस्त होने के बारे में शिकायत करते हैं कई सिर। मैं का प्रयोग करेंगे hg revertअगर मैं दूसरों जो पहले से ही संशोधन 45 अन्यथा के आधार पर अपने स्वयं के काम बना दिया है के साथ सहयोग कर रहे थे, hg updateअधिक स्पष्ट है।