मैं पूरी तरह से जैसे कि यह भंडार में दर्ज नहीं किया गया था एक मर्क्युरियल प्रतिबद्ध और मेरे पूर्व प्रतिबद्ध करने के लिए वापस ले जाने हटाना चाहते हैं।आप Mercurial में एक प्रतिबद्धता कैसे हटाते हैं?
क्या यह संभव है?
मैं पूरी तरह से जैसे कि यह भंडार में दर्ज नहीं किया गया था एक मर्क्युरियल प्रतिबद्ध और मेरे पूर्व प्रतिबद्ध करने के लिए वापस ले जाने हटाना चाहते हैं।आप Mercurial में एक प्रतिबद्धता कैसे हटाते हैं?
क्या यह संभव है?
यदि यह आपका अंतिम प्रतिबद्ध और आप इसे कहीं भी धक्का दे दिया नहीं किया था, तो आप rollback
के साथ क्या कर सकते हैं। अन्यथा, नहीं। ज़रुरी नहीं। अपने पासवर्ड बदलने का समय।
संपादित करें: यह इंगित किया गया है कि आप पुराने संशोधन से क्लोन कर सकते हैं और उन परिवर्तनों में विलय कर सकते हैं जिन्हें आप रखना चाहते हैं। यह भी सच है, जब तक कि आप इसे एक रेपो पर धक्का नहीं देते हैं, जिसे आप नियंत्रित नहीं करते हैं। एक बार जब आप धक्का देते हैं, तो आपके डेटा को वापस पाने के लिए बहुत कठिन होने की संभावना है।
हाहा मैंने गलती से ऐसा किया है (वहां मेरी एसएसएच निजी कुंजी है) –
अगर आपने संशोधन को धक्का नहीं दिया है तो चरण को गुप्त में बदलने के बारे में क्या? – 1nfiniti
@mikeyUX: यह उत्तर 2.1 आने से पहले लिखा गया था, लेकिन रहस्य को चरण में बदलना वास्तव में परिवर्तन को हटा नहीं देता है; यह आपको इसे 'एचजी आउटगोइंग' में देखने या इसे किसी अन्य भंडार के साथ साझा करने से रोकता है। चरण को गुप्त में बदलना, फिर क्लोनिंग वही काम करेगा जैसा कि मेरे संपादन से पता चलता है। हालांकि मैं ऐसा करने से पहले हिस्टिट या एमक्यू का उपयोग करूंगा। – nmichaels
आप "एचजी backout" का उपयोग मूल रूप से एक रिवर्स मर्ज करने के लिए कर सकते हैं। सभी विकल्प स्वतंत्र रूप से उपलब्ध पुस्तक में चर्चा कर रहे हैं "मर्क्युरियल: यह निश्चित गाइड":
http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html
मुझे एहसास है कि मेरा सुझाव प्रतिबद्धता को हटा नहीं देता है लेकिन लिंक सभी विकल्पों के बारे में बात करता है, जिसमें "एचजी रोलबैक" विकल्प nmichaels सुझाया गया है। –
आम तौर पर मुझे यह समाधान पसंद है। अपनी गलतियों को स्वीकार करना और अपने बुरे कामों का इतिहास रखना, साथ ही साथ तथ्य यह है कि आपने उनका समर्थन किया है। –
यदि यह एक से अधिक प्रतिबद्ध और/या आप पहले से ही इसे कहीं और धक्का दे दिया, आप अपने भंडार क्लोन और निर्दिष्ट कर सकते हैं है अंतिम परिवर्तन जो क्लोन किया जाना चाहिए।
ऐसा करने के तरीके यहाँ मेरा उत्तर देखें:
Mercurial: Fix a borked history
आप केवल स्थानीय रूप से प्रतिबद्ध है और धक्का नहीं किया, तो आप सिर्फ एक क्लोन स्थानीय रूप से (मेरे लिंक में वर्णित है) बना सकते हैं और आपका काम पूरा हुआ ।
आप पहले से ही कुछ सुदूर भंडार को धक्का दे दिया, तो आप को बदलने के लिए है कि अपने क्लोन के साथ होगा।
बेशक यह निर्भर करता है कि यदि आप ऐसा करने में सक्षम हैं (या अनुमति है)।
आप अपने लिए प्रतिबद्ध के बारे में MQ की जानकारी दूर करने की कोशिश कर सकते हैं।
क्या आप TortoiseHg के बारे में बात कर रहे हैं? – Pluto
कछुआ का उपयोग कर आप संशोधित इतिहास> पट्टी का उपयोग कर सकते हैं ...
इतिहास संपादित करने के लिए मैं Histedit Extension विस्तार का प्रयोग करेंगे ।
hg histedit 45:c3a3a271d11c
हालांकि यह ध्यान रखें यह केवल एक स्थिति है जहाँ आप अभी तक सार्वजनिक भंडार के लिए प्रतिबद्ध धक्का दिया नहीं किया है में समझ में आता है, तो आप सार्वजनिक भंडार के मालिक हैं और/या आप सभी क्लोन के लिए वहाँ बाहर पता लगा सकें। आपको निम्न त्रुटि प्राप्त होता है:
abort: can't rebase immutable changeset 43ab8134e7af
इसका मतलब है Mecurial सोचता है कि यह एक सार्वजनिक changeset (phases देखें) कि पहले से ही धक्का दे दिया गया है - आप इसे एक draft
फिर से कर रही हो करने के लिए मजबूर कर सकते हैं:
hg phase -f -d 45:c3a3a271d11c
मेरा मानना है कि यह अधिक सही अद्यतित उत्तर है। एचजी विकसित होता है। –
मुझे यह काफी बार सामना करना पड़ता है।मैं एक प्रतिबद्धता और करता हूं तो पुश करने के लिए खींचें। लेकिन फिर कुछ ऐसा आने वाला है जो मेरी नव निर्मित प्रतिबद्धता को अनावश्यक बनाता है। क्योंकि यह केवल पुल नाश कर देती है एक सादे hg rollback
पर्याप्त नहीं है ...
यह करने के लिए बात है:
hg strip <rev>
हालात दर्द रहित है जब आप अपने changesets कहीं भी धक्का नहीं है।
हां। जब तक मैं गलत नहीं हूं, v2.3 (rel। 2012/08/01) के रूप में आप परिवर्तनों को हटाने के लिए strip
या backout
के साथ drop
कमांड को छोड़ने के लिए HisteditExtension का उपयोग कर सकते हैं।
सुविधा पर एक सरल गूगल खोज: https://www.google.com/webhp#q=histedit+drop
http://stackoverflow.com/questions/2338986/is-there-any-way-to-delete-local-commits-in-mercurial की डुप्लिकेट - विशेष उत्तर में देखें http://stackoverflow.com/a/6549478/8479 – Rory