2010-10-25 17 views
27

अगर हम प्रतिबद्ध कई बार, उदाहरण के लिए, हमारे स्थानीय रेपो, संशोधन 3000, 3001, 3002, 3003. के लिए पर अगर हम एक दूरस्थ रेपो के लिए धक्का है, यह 3000 3003. करने के लिए धक्का होगा वहाँ एक रास्ता केवल 3000 पुश करने के लिए है और 3001?Mercurial के लिए, क्या हम कुछ बदलावों को धक्का दे सकते हैं और कुछ धक्का नहीं दे सकते?

+1

संभावित डुप्लिकेट [Mercurial में, क्या किसी भी तरह से (चेरी पिकिंग "से अलग) एक बदलाव को धक्का देने के लिए एक अलग सिर से जुड़े परिवर्तनों को धक्का दिए बिना?] (Http://stackoverflow.com/questions/3979122/ इन-मर्कुरियल-ऑन-वैसे-------चेरी-पिकिंग-टू-पुश-ए-चेंजसेट) –

उत्तर

38

हां, आप धक्का देने के लिए एक संशोधन का चयन कर सकते हैं। hg push -r 3001 (चुने हुए संशोधन के सभी पूर्वजों आगे बढ़ा दिया जाएगा, तुम 3000 निर्दिष्ट करने की आवश्यकता नहीं है)

+0

बढ़िया, धन्यवाद, दस्तावेज़ चला गया और देखा। यह कहता है कि '-r' का उपयोग किया जाता है, तो उस परिवर्तन और उसके सभी पूर्वजों को धक्का दिया जाएगा। इसलिए 3000 और 3001 के बिना 3002 और 3003 को धक्का देना शायद संभव नहीं है? –

+0

आप सही हैं। आप 3001 को भेजने के बिना 3002 भी नहीं भेज सकते हैं (जब तक उनके पास पहले से 3001 नहीं है)। आप एक अलग परिवर्तन भेज सकते हैं जिसमें एक ही बदलाव है लेकिन एक अलग हैश और अभिभावक (और इस प्रकार एक पूरी तरह से अलग परिवर्तन है), लेकिन ऐसा करने का भी अर्थ है कि आप अपने repos में डुप्लिकेट काम के साथ खत्म हो जाएगा। –

+2

इसके अलावा, कछुआ एचजी का उपयोग कर यदि: क्लिक करने के बाद 'निवर्तमान changesets का पता लगाने के', सही संशोधन आप धक्का और क्लिक push-> चयनित शाखा – grinch

9

आप सभी पूर्वजों (समाधान @Woolble's answer में वर्णित) के बिना कुछ changesets पुश करने के लिए की जरूरत है, एक अच्छा विकल्प मर्क्युरियल उपयोग करने के लिए है कतार विस्तार (एमक्यू)।

https://www.mercurial-scm.org/wiki/MqExtension

यह आप फिर से आदेश और यहां तक ​​कि changesets गठबंधन ताकि आप उन्हें किसी भी क्रम आप की तरह में धक्का कर सकते हैं करने देगा। शुरू करने के लिए थोड़ा सा काम लगता है लेकिन आपको यह प्रयास करने के लायक लगेगा।

मेरे पास TortoiseHg एमक्यू के साथ बहुत सरल काम कर रहा है।

7

जो लोग UI का उपयोग कर रहे हैं और चित्रों की तरह: Detect outgoing changes to बटन पर

  1. In TortoiseHg क्लिक करें। enter image description here

  2. उस संशोधन पर दायां माउस बटन क्लिक करें जिसे आप धक्का देना चाहते हैं।

  3. Push -> Push to Here चुनें। enter image description here

परिणाम: आप केवल बल्कि सब कुछ से चयनित पुनरीक्षण भेज दिए जाएंगे। enter image description here

आशा है कि यह आपको कुछ समय बचाएगा।

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