2012-09-26 15 views
10

क्या दूसरी शाखा पर एक विशेष (विरोधाभासी) प्रतिबद्धता छोड़ते समय शाखा को दूसरे पर पुनर्जीवित करने का कोई तरीका है?किसी विशेष प्रतिबद्धता को छोड़ते समय मैं कैसे पुनर्वास करूं?

उदाहरण के लिए, मैं mybranch को master पर रीबेज करना चाहता हूं, लेकिन मास्टर में एक प्रतिबद्धता है जो मास्टर में काम करने के साथ संघर्ष करेगी, इसलिए मैं पूरी तरह से प्रतिबद्धता को पूर्ववत करना पसंद करता हूं।

-o-o-o-o-o-x-o-o-o-o master 
    | 
    o-o-o-o mybranch 

x विरोधाभासी प्रतिबद्धता को चिह्नित करता है।

उत्तर

23

उपयोग इंटरैक्टिव रिबेस:

git rebase -i master 

एक संपादक खुल जाएगा और आप इस तरह प्रतिबद्ध की एक सूची होगा:

pick b8f7c25 Fix 1 
pick 273b0bb Fix 2 
pick 6aaea1b Fix 3 

बस प्रतिबद्ध आप छोड़ना चाहते हैं हटा दें। मास्टर पर अपनी शाखा को रिब करते समय इसे छोड़ा जाएगा।

पीएस यदि आप संपादक को नहीं देख पा रहे हैं, तो कृपया समाधान के लिए इस प्रश्न का संदर्भ लें: How can I set up an editor to work with Git on Windows?

+0

संपादक केवल mybranch पर काम करता है। क्या सभी कामों को दिखाने के लिए इसे लाने का कोई तरीका है; यानी mybranch की नोक से, मास्टर के लिए, और मास्टर की नोक तक? – Phillip

+1

क्या आप अपनी शाखा में या मास्टर में प्रतिबद्धता को हटाना चाहते हैं? दूसरा विकल्प अगर बहुत असुरक्षित है और उन सभी अन्य डेवलपर्स को परेशानियों का कारण बनता है जिनके पास 'अपर' के रूप में 'मास्टर' है। –

+0

मैं मास्टर पर एक प्रतिबद्धता छोड़ना चाहता हूं (मैंने अपने प्रश्न के हिस्से के रूप में एक आरेख जोड़ा)। मैं इस समय अपस्ट्रीम पर 'मास्टर' के बारे में चिंतित नहीं हूं। – Phillip

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