सबसे सरल दृष्टिकोण एक एकल रिपॉजिटरी का उपयोग करना है, इसलिए जब तक आप जटिलता की खातिर जटिलता पसंद नहीं करते हैं, तब अन्यथा सम्मोहक तर्कों के अभाव में डिफ़ॉल्ट विकल्प होना चाहिए।
क्या क्लाइंट और सर्वर डेवलपमेंट विभिन्न संगठनों द्वारा किया जा रहा है? क्या क्लाइंट (या सर्वर) के कई कार्यान्वयन होंगे? क्या क्लाइंट खुला स्रोत और सर्वर कार्यान्वयन गुप्त है? यदि इन सभी सवालों का जवाब "नहीं" है, तो एकल रिपॉजिटरी की तुलना में अधिक जटिल कुछ भी लाभ के लिए केवल असुविधा लाने की संभावना है।
यदि आप अलग-अलग कोडबेस को बनाए रखने के लिए चुनते हैं, तो आपको असंगतताओं और निर्भरता नरक से बचने के लिए, इसे कैसे नियंत्रित किया जाए, इस बारे में स्पष्ट नीतियों की आवश्यकता होगी। पहले कुछ हिचकी के माध्यम से काम करने के बाद, आप यह खोज कर सकते हैं कि सबसे सुरक्षित चीज हमेशा दोनों रिपॉजिटरी को एक साथ देखना, उन्हें एक साथ बनाना और उन्हें एक साथ तैनात करना है ... जो स्पष्ट रूप से उन्हें अलग करने के पूरे उद्देश्य को हरा देता है!
प्रतिरूपकता के लिए एक अच्छी संपत्ति है, लेकिन रिपॉजिटरी को विभाजित करने से इसे प्राप्त करने का कोई साधन नहीं है। जैसा कि पिछले पैराग्राफ का तात्पर्य है, आपके पास अत्यधिक युग्मित घटक हो सकते हैं जो कई कोडबेस (अवांछनीय) पर विभाजित होते हैं, और इसी तरह आपके पास समान कोडबेस (वांछनीय) के भीतर अत्यधिक मॉड्यूलर घटक हो सकते हैं।
एक से अधिक अवसरों पर, मैंने अपनी टीम के लिए मौजूदा गिट रिपॉजिटरी को मर्ज करने की वकालत (सफलतापूर्वक) की है, क्योंकि इससे विकास और तैनाती आसान हुई है।