क्या वितरित संस्करण नियंत्रण प्रणाली में वास्तव में कोई केंद्रीकृत भंडार नहीं है?
कोई से लागू केंद्रीय भंडार नहीं है - यह केवल प्रथा के अनुसार है। अधिकांश परियोजनाएं में एक केंद्रीय भंडार है, लेकिन प्रत्येक भंडार इस अर्थ में बराबर है कि उनके पास पूर्ण इतिहास है, और एक दूसरे के बीच पैच को धक्का और खींच सकता है।
इसके बारे में सोचने का एक तरीका एक केंद्रीकृत वीसीएस स्टार टोपोलॉजी में तय किया गया है: एक केंद्रीय केंद्र पूर्ण भंडार वाले सर्वर के रूप में कार्य करता है, जिसमें एक या अधिक ग्राहक इसे लटकते हैं। ग्राहकों के पास आमतौर पर केवल हालिया स्वच्छ चेकआउट की एक प्रति है, और सीमित इतिहास (यदि कोई है)। इसलिए अधिकांश परिचालनों को सर्वर के लिए एक राउंड-ट्रिप की आवश्यकता होती है। एक भंडार के भीतर शाखाएं बनाकर शाखाकरण हासिल किया जाता है।
वितरित वीसीएस में, आपके नेटवर्क की टोपोलॉजी की कोई सीमा नहीं है। आप सैद्धांतिक रूप से किसी भी आकार को पसंद कर सकते हैं। आप प्रति टीम या उप-परियोजना के लिए एक अलग भंडार प्राप्त कर सकते हैं, और मंच प्रतिबद्ध करता है। आपके पास एक स्थिर भंडार और अस्थिर भंडार हो सकता है, और कई फीचर शाखाएं, आदि। और कोई ग्राहक/सर्वर भेद नहीं है - सभी नोड बराबर हैं। प्रत्येक भंडार स्वयं निहित और पूर्ण है, और किसी अन्य से परिवर्तन को पुश और/या खींच सकता है। प्रारंभ करने के लिए, आप एक मौजूदा भंडार क्लोन करें (अपनी खुद की प्रतिलिपि से काम करने के लिए), और परिवर्तन करना शुरू करें। एक बार जब आप अपनी पहली प्रतिबद्धता कर लेंगे, तो आपके पास प्रभावी रूप से एक शाखा होगी। सौभाग्य से, जब आप पूरा कर लें तो अपने परिवर्तनों को वापस मर्ज करना आमतौर पर बहुत आसान होता है।
लेकिन सामान्यतः होता है क्या आपके पास एक भंडार है जो केंद्रीय सर्वर पर है, जिससे लोगों को शुरू करना आसान हो जाता है, और नवीनतम परिवर्तन कहां ट्रैक किया जाता है।
किसी सर्वर के बिना जांच करने के लिए आप एक काम करने वाली डैक्टरी सेट कैसे प्राप्त करते हैं?
आपकी रिपोजिटरी को स्रोत पेड़ के साथ कहीं भी शुरू करना है। तो जांचकर्ताओं की प्रारंभिक श्रृंखला के साथ हमेशा एक पहला भंडार होता है। मान लीजिए कि आप Murky पर काम करना चाहते हैं। आप क्लोन भंडार करेंगे, जो आपको सभी इतिहास और चेकइन के साथ स्वयं का एक पूर्ण भंडार देता है। आप कुछ बदलाव करते हैं (इस प्रकार एक शाखा बनाते हैं), और जब आप पूरा कर लेंगे, तो आप अपने परिवर्तनों को वापस दबाएंगे, जहां वे विलय हो जाएंगे। दोनों प्रणालियां सहकर्मियों के रूप में कार्य कर रही हैं, और वे एक-दूसरे के बीच परिवर्तनों को धक्का देते हैं और खींचते हैं।
Mercurial और Git दोनों एक छिपी उपनिर्देशिका में भंडार रखते हैं, इसलिए एक निर्देशिका वृक्ष में आपकी कार्यशील प्रतिलिपि होती है (जो आप जो भी राज्य चाहते हैं), और रेपो स्वयं ही।
और व्यवसाय कैसे रेपो की एक सुरक्षित बैक अप प्रतिलिपि रखता है?
उपरोक्त के रूप में, आपके पास बस नामित मास्टर रिपोजिटरी है जिसमें सभी नवीनतम विलय किए गए परिवर्तन हैं, और इसे किसी और चीज की तरह वापस लेना है। आप कई बैकअप रिपोज़ भी प्राप्त कर सकते हैं, या शारीरिक रूप से अलग बक्से पर स्वचालित क्लोन कर सकते हैं। कुछ मायनों में, बैक अप करना आसान है।
मुझे लगता है कि वहां एक केंद्रीय रेपो होना चाहिए ... लेकिन फिर यह वास्तव में 'वितरित' कैसे होता है? मैंने हमेशा एक सर्वर-क्लाइंट (एसवीएन) बनाम पीयर-2-पीयर (जीआईटी) भेद के बारे में सोचा, लेकिन मुझे विश्वास नहीं है कि यह सही हो सकता है जब तक कि जीआईटी जैसे उपकरण टोरेंट-शैली तकनीक पर निर्भर न हों?
यह इस अर्थ में वितरित नहीं किया गया है कि विभिन्न ग्राहकों के पास पीयर-टू-पीयर फ़ाइल साझाकरण जैसे विभिन्न हिस्सों हैं। यह वास्तव में केंद्रीकृत मॉडल के विपरीत है।
सभी डीवीसीएस भंडार प्रथम श्रेणी के नागरिक हैं। तकनीकी समस्या के बजाए उन्हें व्यवस्थित करने का तरीका सामाजिक या प्रबंधकीय प्रश्न बन जाता है।
प्राधिकरण के लिए +1, जो एक कीवर्ड है। –