2009-10-26 10 views
7

असल में, मेरे पास देव शाखा है, और मैं कुछ करना चाहता हूं, जबकि मैं कुछ लागू करता हूं, और फिर इसे वापस विलय करता हूं। तो निम्नलिखित इस तरह की स्थितियों होताक्या Mercurial एक नामांकित शाखा विलय कर सकते हैं जो सिर नहीं है?

a 
b 
c 
d - dev 
/
e 
f - feature 

के बाद देव एक सिर नहीं है, यह अभी भी लाने के लिए इस तरह के सुविधा के लिए है कि दोनों देव और सुविधा च ओर इशारा करते हैं अप देव संभव है?

मैं यकीन है कि Git इस ठीक कर सकते हैं, लेकिन ऐसा ही करने मर्क्युरियल को समझाने के लिए नहीं कर पा रहे हूँ ...

उत्तर

19

कार्ल मेयर सही है। आप एक गिट उपयोगकर्ता के रूप में सोच रहे हैं, और Mercurial चीजों को अलग-अलग संभालती है।

आप कार्ल ने जो सुझाव दिया था वह कर सकता था और अगली प्रतिबद्धता को देव शाखा पर मजबूर कर सकता था। अगर मैं इसे देखा तो मैं व्यक्तिगत रूप से यह भ्रमित कर दूंगा, क्योंकि देव शाखा में एक असंतोष होगा। यह स्पष्ट रूप से दिखाता है वास्तव में क्या हुआ

a - dev 
    b - dev 
    c - dev 
    d - dev 
/| 
e | - feature 
f | - feature 
\| 
    g - dev 

मेरे लिए,: hg update dev && hg merge feature && hg commit -m 'Merge in the completed feature.'

इस तरह एक ग्राफ में परिणाम होगा:

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

+0

एचएम। मेरा मतलब है कि आप अपनी विधि को करने का प्रयास करें, लेकिन मुझे याद नहीं है कि मैंने क्या गलत किया है। शायद मैं इसे देखने के लिए थोड़ा और खेलूँगा यह देखने के लिए कि क्या मैं इसे समझता हूं। धन्यवाद दोनों! – Calyth

+0

एचएम। वह काम किया। धन्यवाद स्टीव! – Calyth

+0

आप उस आदेश को किस शाखा पर चला रहे हैं? देव? सुविधा –

6

नाम शाखाओं एचजी में (Git में विपरीत) नहीं "बिंदु" करना कहीं भी। किसी विशेष संशोधन के लिए शाखा नाम चलने वाले उपनाम नहीं हैं। प्रत्येक प्रतिबद्धता में मेटाडेटा मार्कर होता है जो शाखा का नामकरण करता है; बस इतना ही।

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

EDIT: यह काम करेगा, लेकिन स्टीव लोश के वास्तविक विलय करने के सुझाव के परिणामस्वरूप एक और समझदार इतिहास होगा।

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