2009-05-22 1 views
10

अगर मैं अपने विकास पर फ़ाइल निम्न शाखा पड़ा:कैसे करने के लिए "विभाजन" Git के साथ फ़ाइलें

# file.rb 

class Code 
def methodA 
    'aA1' 
end 
def methodB 
    'bB2' 
end 
end 

लेकिन मेरे मास्टर शाखा पर मैं अलग फ़ाइलों में तरीकों को अलग करना चाहता था:

# in file.rb 
class Code 
    def methodA 
    'aA1' 
    end 
end 

# in extra.rb 
class Code 
    def methodB 
    'bB2' 
    end 
end 

मैं बस विकास पर फ़ाइल बना सकते हैं, तो, मास्टर को चेकआउट rebase और अलग टी वह मैन्युअल रूप से फ़ाइल करता है, लेकिन क्या यह संभव है कि चीजों को सेट करें ताकि जब मैं विकास में परिवर्तन करता हूं तो इसे मास्टर पर फ़ाइल के दाहिने "भाग" पर ले जाया जाएगा?

+0

शायद भविष्य में जब 'दोष' विलय रणनीति/विलय चालक लागू हो जाता है ... –

उत्तर

4

'master' पर फ़ाइल के "दाईं ओर ले जाया गया" भाग "विभाजन करने के लिए गिट को विभाजन का पता लगाने में सक्षम होने का संकेत मिलेगा।

और जैसा कि recent thread (इस महीने: मई 200 9) द्वारा चित्रित किया गया है, गिट अभी तक काफी नहीं है।
यह उसमें एक छोटे से हिस्से के साथ बड़ी फ़ाइलों के लिए काम कर सकता है, जो कि दूसरी फाइल में विभाजित होता है, लेकिन छोटी फ़ाइलों के लिए, सामग्री परिवर्तनों को लेने के लिए गिट नामकरण डिटेक्टर के लिए "बहुत अलग" दिखाई देती है।

तो rebase 'master' 'development' के शीर्ष पर काम कर सकते हैं, बशर्ते कि प्रकाशित न किए गए (push) 'master' 'development' बना दिया गया है के बाद से, क्योंकि इस तरह के ऑपरेशन (rebase) को फिर से लिखने होगा SHA-1 की 'master' शाखा पर करता है, मैं rebase vs.merge में वर्णित है

(क्योंकि वे 'development' शाखा के प्रतिबद्ध के शीर्ष पर पुनः बजाया जाता है) करता है, तो अपने विकास शाखा नहीं "बहुत दूर" है (गुरु से संशोधनों की अवधि में , एक और रणनीति मास्टर के शीर्ष पर विकास को पुनर्जीवित करना, विभाजन करना, और फिर विकास को मास्टर में वापस विलय करना होगा (फास्ट-फॉरवर्ड इस बिंदु पर विलय करें)

+1

यह पोस्ट 7 साल पुराना है, क्या हाल ही में कोई सुधार हुआ है? –

+0

@StrategyThinker ऐसी छोटी फ़ाइल के लिए, मुझे ऐसा नहीं लगता है। – VonC