मेरे वर्तमान नियोक्ता में, हम अपने आवेदन के एक घटक के रूप में जीथब पर आयोजित एक ओपन-सोर्स प्रोजेक्ट का उपयोग कर रहे हैं। मैं इस परियोजना पर काम कर रहा हूं, दोनों में कुछ विशेषताएं हैं जिनकी हमें आवश्यकता है और इसे अपने बिल्ड सिस्टम के साथ एकीकृत करना है। मेरे प्रबंधक और मैं इस बात पर सहमत हैं कि हम इस घटक पर अपने काम का उतना हिस्सा जमा करना चाहेंगे, जितना कि ओपन-सोर्स प्रोजेक्ट के लिए उचित है। मेरा प्रश्न इस बारे में है कि मेरे गिट को बनाए रखने के लिए सबसे अच्छा वर्कफ़्लो / तकनीक क्या है, इस तरह से मैं आसानी से उन चीजों को अलग कर सकता हूं जो ओपन-सोर्स प्रोजेक्ट में वापस जोड़ने के लिए समझ में आता है - बग फिक्स और पर्याप्त रूप से सामान्य होने वाली नई विशेषताएं - उन चीजों से जो हमारी परियोजना के लिए विशिष्ट हैं, जैसे निर्माण स्थान और अनुप्रयोग स्थिरांक।
मैं अब तक जो कुछ भी कर रहा हूं वह एक निजी गिट शाखा को बनाए रखने के लिए है जहां मैं अपने सभी परिवर्तनों को उपयुक्त रूप से उपयुक्तता के साथ करता हूं। मैं तब cherry-pick
मास्टर-शाखा में खुले-खट्टे कमिट्स को जोड़ने के लिए उपयोग करता हूं , और उन गितुब को वापस जमा करता हूं ।
ऐसा लगता है कि मुझे ऐसा करने के लिए मर्ज का उपयोग करना चाहिए, ताकि मैं समान सामग्री के साथ अलग-अलग कमिट नहीं बनाऊं, लेकिन मुझे यकीन नहीं है कि कंपनी-विशिष्ट कमिट को छोड़कर और एक उचित वर्कफ़्लो रखते हुए ऐसा कैसे करें।
उदाहरण के लिए, मुझे लगता है कि मैं निजी शाखा पर मास्टर और कंपनी-विशिष्ट चीजों पर खुली-खट्टा चीजें कर सकता हूं, और फिर आवश्यकतानुसार उस शाखा में मास्टर को मर्ज कर सकता हूं, जो विलय से पहले प्रतिबद्ध होने पर मास्टर शाखा को इंगित करते हुए छोड़ देता है, जैसे कि मैं खुली खट्टी-मीठी बातें फिर से करें और फिर से विलय करें। इस वर्कफ़्लो के बारे में जो अजीब लगता है, वह यह है कि मुझे सब कुछ पहले से तय करना होगा कि मैं किस ब्रांच में हूँ, इस पर काम करूँ जो पूरा होने जैसा लग रहा था, फिर उसे कमिट करें और परीक्षण से पहले मर्ज करें। जिन चीजों के बारे में मुझे वास्तव में Git पसंद है उनमें से एक यह है कि आपके आवेदन को काम करने के लिए आपको जो कुछ भी करना है बस उसे करना कितना आसान है, और फिर बाद में तय करें कि आपके परिवर्तनों को कैसे और कहां करना है। जहाँ तक मैं बता सकता हूँ, यदि आप वर्तमान में एक शाखा पर हैं और कुछ काम किया है, तो '
क्या मैं लंबे समय तक योगदान के लिए एक उचित वर्कफ़्लो कर रहा हूं? क्या कोई अलग वर्कफ़्लो सुझा सकता है जो बेहतर हो सकता है, और यह बेहतर क्यों है?