मैं बड़े पैमाने पर रेल परियोजना पर काम कर रहा हूं, और जिस टीम के साथ मैं काम कर रहा हूं वह परियोजना का प्रबंधन करने के लिए गिथब का उपयोग कर रहा है। जबकि स्थानीय रूप से कई बदलाव किए जाते हैं और फिर सीधे हमारी विकास शाखा में धकेलते हैं, हम एक शाखा बनाते हैं जब हम बहुत बड़े बदलाव पर काम करने जा रहे हैं। जब उस शाखा को वापस विकसित करने के लिए समय आता है, तो मैं अपनी फीचर शाखा को विकसित करने (अन्य लोगों के काम को ओवरराइट करने से रोकने के लिए) में विलय करने से पहले अक्सर अपनी फीचर शाखा में वापस विकसित करने का प्रयास करता हूं। मुझे लगता है कि जब मैं ऐसा करता हूं, तो मुझे दो बार विलय विवादों में भागना प्रतीत होता है। मैं पुनर्जन्म के दौरान संघर्ष की पूरी सूची में भाग जाता हूं, फिर विलय करते समय संघर्षों की एक ही सूची में चला जाता हूं। क्या मुझे अपनी सुविधा को विकसित करने से पहले अपनी फीचर शाखा में विकास करना चाहिए, या क्या मुझे अपनी सुविधा को विकसित करने में विलय करना चाहिए?जब मैं गिट का उपयोग कर रहा हूं, तो क्या मुझे विलय करने से पहले मुझे रिबेस करना चाहिए?
मान लें कि मेरी फीचर शाखा को "new_feature" कहा जाता है। "विकसित" शाखा के साथ यह मर्ज करने के लिए मेरे प्रक्रिया इस प्रकार है:
git checkout develop
git pull (this is set up on our rig to always pull rebase)
git checkout new_feature
git rebase develop
(lots of merge conflicts ensue)
git checkout develop
git merge -no-ff new_feature
(same set of merge conflicts again)
यह समय मेरे रिबेस से परिवर्तित करता है दर्पण की तरह करने के लिए अपने नए फीचर शाखा सभी तरह वापस विकसित कारण के रूप में है, और फिर संघर्ष का विकास खुद की एक psudo-copy के साथ।
क्यों 'git merge -no-ff'? यदि आपने अभी विकास पर new_feature को रीबेस किया है, तो यह _should_ एक तेज़-आगे हो। – Useless
मैं ईमानदारी से यकीन नहीं कर रहा हूँ। थोड़ी देर के लिए, हमारे यहां एक लड़का था जो वास्तव में गिट को जानता था, और उसने मुझे बताया कि मुझे ऐसा कुछ कारणों से करना चाहिए जो समय रेखा को साफ करने के साथ करना है। मुझे वास्तव में पता नहीं था कि कारण क्या था। –
मैं देख सकता हूं कि यह समयरेखा भ्रमित कर सकता है ... हम्म। रिबेज सभी कामों को 'new_feature' पर बदलकर मूल शाखा बिंदु के बजाय' विकास 'पर लागू समकक्ष परिवर्तनों के साथ बदल रहा है, जिसका अर्थ है कि आपको पुराने कामों की प्रतियां मिलेंगी, जिनके माता-पिता (मूल शाखा बिंदु और' विकास के बीच/HEAD') उनके से बड़े हैं। – Useless