चेतावनी: @Martin_Geisler द्वारा अनुशंसित एक "डमी विलय", वास्तव में आपको गड़बड़ कर सकता है, अगर बाद में आप दो शाखाओं का सही विलय करना चाहते हैं। डमी विलय रिकॉर्ड किया जाएगा, और कहें कि आप जिस शाखा में डमी विलय करते हैं उसमें आप विलय करते हैं - आपको परिवर्तन दिखाई नहीं देंगे। या यदि आप दूसरी शाखा में विलय करते हैं, तो उस दूसरी शाखा में किए गए परिवर्तन पूर्ववत किए जाएंगे।
सब आप चाहते हैं एक शाखा से दूसरे में एक पूरी फाइल कॉपी करने के लिए है, तो आप बस कर सकते हैं:
hg update -r to-branch
hg revert -r from-branch file
hg ci -m 'copied single file from from-branch to to-branch
आप उस फ़ाइल के विभिन्न भागों का चयन करना चाहते हैं, तो "hg record"
उपयोगी है।
मैंने अभी यह अपनी होम निर्देशिका पर किया है। Hgignore।
यदि दोनों शाखाओं ने उस फ़ाइल में बदलाव किए हैं जिन्हें आप रखना चाहते हैं, तो एक गंदे चाल संभवतः एक और शाखा पर संभवतः संभवतः/संभवतः किसी अन्य शाखा पर दो शाखाओं का विलय बनाना होगा, उसमें जांचें, और फिर मर्ज और करने वाली शाखा के बीच एक एकल फाइल कॉपी:
hg update -r to-branch
branch merge-branch
hg merge -r from-branch
hg ci -m 'temp merge to be discarded"
hg update -r to-branch
hg revert -r merge-branch single-file
hg ci -m 'merged single-file from from-branch to to-branch"
hg strip merge-branch
यह उल्लेख के लायक है: जिस तरह से "शाखाओं के बीच एक एकल फाइल कॉपी करने के लिए" (या संशोधन, या संशोधन से मर्ज करने के लिए, या ... ।) "एचजी रिवर्ट" है। अर्थात।
hg update -r Where-you-want-to-copy-to
hg revert -r Where-you-want-to-copy-from file-you-want-to-copy
...
hg ci
किसी कारण मैं के लिए, और मेरे सहकर्मियों में से कुछ, इस बहुत भ्रमित पाते हैं। "वापस" == "प्रतिलिपि" ... कुछ उपयोग पैटर्न के लिए समझ में आता है, लेकिन सभी नहीं।
स्रोत
2012-10-26 04:19:10
यह स्वीकार्य उत्तर होना चाहिए एक मार्टिन गीस्लर ने दिया। हालांकि यह वास्तव में फ़ाइल को मर्ज नहीं करेगा, इसकी प्रतिलिपि बनाना वह है जो अधिकतर समय करना चाहता है और यह शाखा को गड़बड़ नहीं करेगा। – noamik
यह एक शाखा से एक फ़ाइल लाने के लिए बहुत अच्छा काम करता है ट्रंक। हालांकि, मुझे लगता है कि एक बात यह है कि ट्रंक में चेकइन फ़ाइल के इतिहास में दिखाई नहीं दे रहा है, जो दुर्भाग्यपूर्ण है। –
हैलो और आपके उत्तर के लिए धन्यवाद। हालांकि, मुझे अपनी स्थिति में परेशानी हो रही है स्रोत शाखा में एक फ़ाइल होती है जो मेरी डिफ़ॉल्ट शाखा में मौजूद नहीं होती है, लेकिन मैं इसे बाकी शाखा को विलय किए बिना वापस कॉपी करना चाहता हूं। जब मैं आपके द्वारा वर्णित किए गए कार्यों को करने का प्रयास करता हूं तो मुझे '12 में ऐसी कोई फ़ाइल नहीं मिलती ' कोई सुझाव? – propagated