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