2012-04-24 7 views
23

मेरे पास डिस्क पर एक काल्पनिक Mercurial भंडार है। मैं एक नई सुविधा बनाने के माध्यम से सबसे अधिक तरीका हूं, जब मुझे एहसास हुआ कि मैंने जिस फ़ाइल पर काम कर रहा हूं, उसकी पूरी गड़बड़ी कर ली है, और उस फ़ाइल को अपनी अंतिम प्रतिबद्ध स्थिति में वापस करना चाहता हूं।मैं Mercurial में फ़ाइल को 'अंतिम चेकइन' स्थिति में कैसे वापस ला सकता हूं?

मैं भंडार से कार्यशील प्रतिलिपि ताज़ा करने के लिए hg update का उपयोग कर सकता हूं, लेकिन यह प्रत्येक फ़ाइल को अद्यतन करता है।

क्या कोई Mercurial कमांड है जो केवल एक फ़ाइल को अपडेट कर सकता है?

उत्तर

28

फ़ाइलों को वापस करने के लिए एक Mercurial कमांड है। hg revert इसे किसी भी बदलाव को वापस करना चाहिए। आप इसे फ़ाइल नाम भी पास कर सकते हैं जैसे hg revert fileName

3

मुझे विश्वास है कि आप hg revert /path/to/file/<file name> टाइप कर सकते हैं और यह केवल उस फ़ाइल को अपडेट करेगा।

+1

नहीं, कि Git ('Git checkout' के लिए इस अजीब व्यवहार है कि मर्क्युरियल में,' एचजी चेकआउट है 'एचजी अपडेट' के लिए उपनाम है)। –

+0

आप सही हैं, मुझे सही करने के लिए धन्यवाद। – Kodi

+0

@Vari क्या आपका उत्तर गलत है? यदि ऐसा है, तो कृपया हटाएं। –

11

hg revert fileName उस फ़ाइल को उस संशोधन में वापस लाएगा जिस पर आप हैं। यदि आप सभी परिवर्तनों को वापस करना चाहते हैं तो आप hg revert --all चला सकते हैं।

इनमें से दोनों fileName.orig फ़ाइलों का उत्पादन करेंगे ताकि आप उन परिवर्तनों को रख सकें जिन्हें आप वापस लेना चाहते हैं। आप फ़ाइल वापस लौटने और सभी .orig फ़ाइलें नहीं चाहते हैं आप -C विकल्प जोड़ सकते हैं: hg revert fileName -C hg revert --all -C

+0

मुझे अपने '.gigignore फ़ाइल में' * .orig' जोड़ने के लिए बेहतर लगता है और फिर बस '.orig' फ़ाइलों को छोड़ दें। शायद मुझे उन्हें एक दिन की आवश्यकता होगी :) अगर वे आपको परेशान करते हैं, तो आप उन्हें साफ करने के लिए शुद्ध विस्तार का उपयोग कर सकते हैं। –

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

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