2011-03-18 17 views
5

मान लीजिए हम Git में निम्नलिखित स्थिति है: यह अब लग रहा हैमर्ज/Git में एक 'काट दिया' शाखा rebase

 X---Y feature 
    /
A---B---C---D edge 

अब मैं बदल रहा है बी एक छोटा सा (edit का प्रयोग करके) के लिए प्रतिबद्ध edge शाखा rebase तो इस तरह:

 X---Y feature 

A---E---C'---D' edge 

सी 'और डी' सी और डी के रूप में ही प्रतिबद्ध हैं, लेकिन ई के शीर्ष पर लागू (और नोटिस feature शाखा के भीतर है कि एक्स कट बन गया)।

अब मैं कैसे कर सकते हैं:

  1. रिबेस/feature शाखा विलय ताकि उसके प्रतिबद्ध दिखाई देते हैं जैसे कि वे विकास की 'शीर्ष पर लागू कर रहे थे?
  2. feature शाखा को रीबेज/मर्ज करें ताकि इसकी प्रतीत होती है जैसे कि वे ई के शीर्ष पर लागू होते हैं, लेकिन बिना किसी अलग 'विलय शाखा ...' प्रतिबद्ध (और सी 'और डी' को सी ' 'और डी' ')?

उत्तर

5

X प्रति डिस्क से डिस्कनेक्ट नहीं होता है, फिर भी इसके मूल के रूप में मूल B है। आप बाद में edge के शीर्ष पर feature rebase करने के लिए है, तो चाहते हैं: E के एक बच्चे के रूप

git checkout feature 
git rebase edge 

आप इतना है कि यह मूल संस्करण में एक समान संरचना है पेड़ परिवर्तन करना चाहते हैं, लेकिन X साथ होगा, तो इस :

git checkout feature 
git rebase --onto <sha-of-E> <sha-of-B> feature 
+0

धन्यवाद! यह हल करता है। –

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