मेरे द्वारा तोड़फोड़ करने के तरीके के बारे में एक बात यह है कि मेरे पास कई परियोजनाओं के साथ एक ही मुख्य भंडार हो सकता है। जब मैं किसी प्रोजेक्ट पर काम करना चाहता हूं तो मैं उस प्रोजेक्ट की जांच कर सकता हूं। ऐशे ही
\main
\ProductA
\ProductB
\Shared
फिर
svn checkout http://.../main/ProductA
एक नए उपयोगकर्ता के रूप में मैं एक विशिष्ट वर्कफ़्लो करने से पहले क्षेत्र में सर्वश्रेष्ठ अभ्यास का एक सा पता लगाना चाहता हूँ। मैंने अब तक जो भी पढ़ा है, उसमें से परियोजना के पेड़ की जड़ में एक .git फ़ोल्डर में सब कुछ संग्रहीत किया गया है। इसलिए मैं दो में से एक काम कर सकता था।
- प्रत्येक उत्पाद के लिए एक अलग परियोजना स्थापित करें।
- उप-फ़ोल्डरों में एकल बड़े पैमाने पर परियोजना और स्टोर उत्पादों की स्थापना करें।
उत्पादों के बीच निर्भरताएं हैं, इसलिए एकल विशाल परियोजना उपयुक्त लगती है। हम एक सर्वर का उपयोग कर रहे हैं, जहाँ सभी डेवलपर अपना कोड साझा कर सकते हैं। मुझे पहले से ही SSH और HTTP पर यह काम मिल रहा है और यह हिस्सा मुझे पसंद है। हालांकि, एसवीएन में रिपॉजिटरी पहले से ही कई जीबी आकार की हैं, इसलिए प्रत्येक मशीन पर पूरे रिपॉजिटरी के चारों ओर खींचना एक बुरा विचार जैसा लगता है - खासकर जब से हम अत्यधिक नेटवर्क बैंडविड्थ के लिए बिल कर रहे हैं।
मुझे लगता है कि लिनक्स कर्नेल परियोजना रिपॉजिटरी समान रूप से बड़ी हैं, इसलिए गिट के साथ इसे संभालने का एक उचित तरीका होना चाहिए, लेकिन मैंने अभी तक इसका पता नहीं लगाया है।
क्या बहुत बड़ी मल्टी-प्रोजेक्ट रिपॉजिटरी के साथ काम करने के लिए कोई दिशानिर्देश या सर्वोत्तम अभ्यास हैं?