2011-10-21 15 views
16

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

+0

संभावित डुप्लिकेट [गिट के साथ एक नई शाखा में सबसे हालिया प्रतिबद्धताओं को ले जाएं] (http://stackoverflow.com/questions/1628563/move-the-most-recent-commits-to-a -न्यू-शाखा-साथ-गिट) –

उत्तर

25

ज़रूर:

$ git branch new-branch-name      # Create a new branch from the current commit 
$ git reset --hard <last good commit on master> # Reset master to the good commit 
+0

यह आसान था। धन्यवाद! –

+0

तो अगर मैं मास्टर से दूसरी शाखा में पिछले दो कामों को हटाना चाहता हूं। मैं मास्टर की आखिरी प्रतिबद्धता की जांच करता हूं, वहां से एक शाखा बना देता हूं और फिर मास्टर हेड ~ 2 रीसेट करता हूं? यह शाखा से काम भी नहीं हटाएगा? क्या इसका मतलब यह है कि काम नहीं हटाया जाता है, केवल मास्टर का सूचक अब दो काम करता है? यह रीसेट है बस शाखा सूचक को कई काम करता है? – croraf

+0

@croraf: शाखा अभी भी पिछले दो कामों को इंगित करेगी जो मास्टर पर थीं। – mipadi

1

हाँ, आप कर सकते हैं, और कहा कि 2 अलग संचालन होगा:

कॉपी शाखा आप चाहते करने के लिए एक शाखा से प्रतिबद्ध उन्हें होने के लिए:

git cherry-pick <hash_of_commit> --onto <target_branch> 

फिर मास्टर शाखा को अच्छी प्रतिबद्धता में वापस करने के लिए ठीक करें:

git checkout master 
git reset --hard <hash_of_good_commit> 
संबंधित मुद्दे