Software version control System क्या है?
Software Version Control System, Software इंजीनियरिंग में Use की जाने वाली एक Code Management Tools है। इसका Use Software Code के विभिन्न संस्करणों (Version) को संग्रहीत करने, इन्हें ट्रैक करने और संशोधित करने के लिए किया जाता है। यह टूल Software Development के लिए Used होता है, जहाँ एक टीम कई लोगों द्वारा Software Code में संशोधन(Changes) करती है। Software Version Control System इस प्रकार काम करता है कि सभी लोगों को इस सिस्टम के माध्यम से समान रूप से नवीनतम संस्करण तक पहुंच मिलती है।
इसका Use टीम Development के दौरान Software के Version के, Testing और bug फिक्सिंग के लिए किया जाता है। Software के Version के लिए अलग-अलग Development branch बनाई जा सकती हैं जो उन्हें बेहतर बनाने में मदद करती हैं। Software Version कंट्रोल सिस्टम उन संगठनों के लिए विशेष रूप से Useी होता है जो Software का निर्माण और विकास करते हैं।
मार्केट में कई प्रकार के Software Version Control System उपलब्ध हैं। यहां कुछ प्रमुख Software नाम दिए गए हैं:
- Git
- Subversion (SVN)
- Mercurial
- CVS
- Perforce
ये सभी Software संस्करण नियंत्रण प्रणालियों में विशेषज्ञ हैं जो विभिन्न उद्देश्यों के लिए Use किए जा सकते हैं। इनमें से गिट सबसे लोकप्रिय और व्यापक रूप से Use किया जाने वाला Software है।
Software Version Control System को सीखने का समय व्यक्ति के पूर्व अनुभव और उपलब्ध Resourceपर निर्भर करता है। यदि आप पहले से ही किसी प्रोग्रामिंग भाषा का ज्ञान रखते हैं और पहले से ही किसी Version कंट्रोल सिस्टम का Use करते हैं, तो इसे सीखने में आपको कुछ हफ्तों तक का समय लग सकता है।
हालांकि, यदि आप प्रोग्रामिंग भाषा और Version कंट्रोल सिस्टम के बारे में कुछ नहीं जानते हैं, तो सीखने में अधिक समय लग सकता है। आप एक अच्छी Version कंट्रोल सिस्टम ट्यूटोरियल या कोर्स के माध्यम से इसे सीख सकते हैं। इसके लिए आपको कुछ हफ्तों या महीनों तक का समय निर्धारित करना हो सकता है।
Software Version Control System में निम्नलिखित तीन मुख्य भाग होते हैं:
- Repository: सभी संस्करणों को संग्रहीत करने के लिए स्थान प्रदान करता है। रिपॉजिटरी में आपके प्रोजेक्ट Code और संस्करण जैसे कि फीचर ब्रांचेस, टैग आदि रखे जाते हैं।
- Working copy: Code फाइलों के संस्करणों का संग्रह करता है जो वर्किंग डायरेक्ट्री में संग्रहीत होते हैं। इसे Client भी कहा जाता है जो रिपॉजिटरी से कनेक्ट होता है।
- Revision History: Code की पिछली संस्करणों के लिए एक इतिहास या लॉग रखा जाता है जो बदलावों को दर्शाता है। इसे “revision” या “commit” भी कहा जाता है।
Software Version Control System में एक Client-Server architecture होता है। इसमें, Server Resourceका एक भंडारण स्थान होता है, जो कि Code Code के रूप में जाना जाता है। Server, यूजर के संदर्भ में नए फ़ाइलें बनाता है और Resourceको पढ़ने और लिखने की अनुमति देता है। Client, Resourceको पढ़ने और लिखने के लिए Server से जुड़ते हैं। Client इस संदर्भ में Code Code का एक क्लोन बना सकते हैं और इसमें अपने Resourceपर काम कर सकते हैं। इसके अलावा, Client नए code को push करने और code को Server से Merge करने के लिए भी Use किए जाते हैं।
एक उदाहरण local Software Version Control System का हो सकता है, जो आपको processed Code की अपनी local कॉपी के साथ काम करने देती है। इस तरह की प्रणालियों में, आपको processed Code को save और changes करने के लिए एक private store (repository) का Use करने की आवश्यकता नहीं होती है। इसके बजाय, आप अपने local मशीन में उन संशोधनों को सीधे करते हैं जो आपको आवश्यक होते हैं और उसके बाद आप उन changes हो push करते हैं। इस प्रकार, repository को समय-समय पर अपडेट करते हुए आप processed Code का एक Version Storeकर सकते हैं जो कि आपके समस्त टीम के सदस्यों तक पहुँचने के लिए उपलब्ध होता है।