मैं एक छोटी सी टीम के साथ काम करता हूं जो स्रोत कोड प्रबंधन के लिए गिट का उपयोग करता है। हाल ही में, हम सुविधाओं का ट्रैक रखने के लिए विषय शाखाएं कर रहे हैं, फिर उन्हें स्थानीय स्तर पर मास्टर में विलय कर रहे हैं और फिर उन्हें रिमोट सर्वर पर केंद्रीय गिट भंडार में डाल रहे हैं। मास्टर में कोई बदलाव नहीं होने पर यह बहुत अच्छा काम करता है: मैं अपनी विषय शाखा बना देता हूं, इसे प्रतिबद्ध करता हूं, इसे मास्टर में विलय करता हूं, फिर धक्का देता हूं। हुर्रे।रिमोट अपडेट पर गीट रीबेस
हालांकि, अगर कोई मेरे सामने जाने से पहले मूल हो गया है, तो मेरी प्रतिबद्धता तेजी से आगे नहीं है। इस प्रकार एक विलय प्रतिबद्धता आती है। ऐसा तब भी होता है जब किसी विषय शाखा को स्थानीय रूप से मास्टर के साथ विलय करने की आवश्यकता होती है ताकि यह सुनिश्चित किया जा सके कि मेरे परिवर्तन कोड के साथ काम करते हैं। तो, हम हर जगह मर्ज करने के साथ समाप्त होते हैं और एक गिट लॉग दोस्ती कंगन प्रतिद्वंद्वी बनाते हैं।
तो, पुन: प्रयास करना स्पष्ट विकल्प है।
- के नए प्रमुख पर (क्योंकि मैं महारत हासिल करने के लिए प्रतिबद्ध नहीं है तेजी से आगे)
- रिबेस विषय शाखाओं पकड़े कई प्रतिबद्ध
- चेकआउट मास्टर विषय शाखाओं बना सकते हैं और खींच: क्या मैं चाहूँगा करने के लिए है गुरु
- मास्टर के खिलाफ विषयों rebase (ताकि विषयों सिर स्वामी से शुरू), मेरे विषय सिर अप करने के लिए मास्टर लाने
वर्तमान में ऐसा करने का मेरा तरीका नीचे सूचीबद्ध है:
git checkout master
git rebase master topic_1
git rebase topic_1 topic_2
git checkout master
git rebase topic_2
git branch -d topic_1 topic_2
क्या ऐसा करने का कोई तेज़ तरीका है?
अंतिम विलय आवश्यक है। मैं ग्राफ पर सभी काम करने वाले कांटे को देखने की नवीनता की कल्पना कर सकता हूं लेकिन कोड पहले से ही मास्टर में एकीकृत है और मुझे नहीं लगता कि यह कामकाजी कोड को टॉस करने के लिए अनुचित है यदि यह वास्तविक कांटा नहीं बनता है। अन्यथा आईएमएचओ, यह जवाब सही है। –