2010-07-22 17 views
6

तो हाल ही में एक परियोजना पर काम कर रहा है (स्वयं - कोई अन्य डेवलपर्स), मैं किसी भी तरह से क्लोन रिपोजिटरी से कुछ (स्पष्ट रूप से) खराब विलय के साथ इतिहास को गंभीरता से काम करने में कामयाब रहा।Mercurial: एक borked इतिहास को ठीक करें

मैं करना चाहते हैं क्या - करने की ज़रूरत है - बस (hg glog के अनुसार)

हाँ, मैं कोड में कुछ परिवर्तन borking के बाद बना दिया है पिछले 8 प्रतिबद्ध हटाकर इसे ठीक है हालांकि, यहां शुरू हुआ या वहां केवल कुछ बदलाव - कुछ भी मैं स्मृति से ताजा नहीं कर सकता।

मैं पिछले 8 कामों से कैसे छुटकारा पा सकता हूं और जहां से मैं गड़बड़ कर रहा हूं उससे शुरू हो सकता हूं?

उत्तर

11

अपने भंडार का क्लोन बनाने - जब आप ऐसा करते हैं, आप पिछले प्रतिबद्ध है कि क्लोन किया जाना चाहिए निर्दिष्ट कर सकते हैं।

इसलिए, यदि आपका भंडार 100 changesets है और आप 93 से 100 changesets से छुटकारा पाने के लिए चाहते हैं, तो बस इस कार्य करें:

hg clone -r 92 BadRepository CleanRepository 

->CleanRepository केवल changesets में शामिल होंगे 1 92.

को

यदि आप टोर्टोइज एचजी का उपयोग करते हैं, तो आप क्लोन डायलॉग में ऐसा कर सकते हैं (एक टेक्स्टबॉक्स "संशोधन के लिए क्लोन:")

+3

यह उत्तर सामान्य मामले को कवर नहीं करता है, यदि आप वहां आंशिक रेपो के साथ समाप्त होते हैं स्रोत रेपो में कुछ शाखाएं हैं। – piotr

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