version control स्रोत नियंत्रण-वितरित सिस्टम बनाम गैर-वितरित-क्या अंतर है?




version-control tfs (5)

मैं सिर्फ स्पोलस्की के अंतिम भाग को वितरित बनाम गैर-वितरित संस्करण नियंत्रण प्रणालियों http://www.joelonsoftware.com/items/2010/03/17.html के बारे में पढ़ता हूं। दोनों के बीच अंतर क्या है? हमारी कंपनी टीएफएस का उपयोग करती है क्या शिविर में यह गिरावट है?


अंतर प्रकाशन प्रक्रिया में है:

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

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

संस्करण नियंत्रण प्रणाली डेटा में परिवर्तन की समानता (एक काम पर समानांतर कार्यों और / या समानांतर कार्यों के कारण) को माहिर करने के बारे में है, और जिस तरह से आप दूसरों के साथ सहयोग करते हैं (अन्य कार्यों और / या अन्य लोग) एक सीवीसीएस और एक डीवीसीएस।

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


Http://hginit.com देखें जोएल ने मर्क्यूरिअल के लिए एक अच्छा ट्यूटोरियल लिखा, जो एक डीवीसीएस है। मैंने पहले कभी भी DVCS के बारे में पढ़ा नहीं था (मैंने हमेशा एसवीएन का इस्तेमाल किया है) और मुझे यह समझना आसान हो गया।


मैं संस्करण नियंत्रण उपकरण की मार्टिन फोवेलर की समीक्षा को पढ़ने की सिफारिश करूंगा

संक्षेप में सीवीसीएस और डीवीसीएस के बीच मुख्य अंतर यह है कि पूर्व (जिसमें से टीएफएस एक उदाहरण है) कोड का एक केंद्रीय भंडार है और बाद के मामले में, कई रिपॉजिटरी हैं और कोई भी 'डिफ़ॉल्ट रूप से' नहीं है - वे एक सभी समान हैं


बस बोलने वाला, एक केंद्रीकृत वीसीएस (टीएफएस सहित) प्रणाली का केंद्रीय भंडारण होता है और प्रत्येक उपयोगकर्ता इस स्थान पर जाता है और इसके लिए प्रतिबद्ध है।

वितरित VCS में, प्रत्येक उपयोगकर्ता का पूर्ण भंडार होता है और वह परिवर्तन कर सकता है जो तब अन्य रिपॉजिटरी के लिए सिंक्रनाइज़ किए जाते हैं, सर्वर आमतौर पर वास्तव में आवश्यक नहीं होता है


एक केंद्रीकृत वीसीएस (सीवीसीएस) में एक केंद्रीय सर्वर शामिल होता है जिसे इंटरैक्ट किया जाता है। वितरित VCS (DVCS) को एक केंद्रीकृत सर्वर की आवश्यकता नहीं है

रिपोजिटरी इतिहास सहित डीवीसीएस चेकआउट पूर्ण और आत्म-निहित हैं यह सीवीसीएस के साथ मामला नहीं है।

सीवीसीएस के साथ, अधिकांश गतिविधियों को सर्वर के साथ बातचीत करना पड़ता है डीसीसीएस के साथ ऐसा नहीं है, क्योंकि वे "पूर्ण" चेकआउट, रेपो इतिहास और सभी हैं।

आपको सीवीसीएस के लिए प्रतिबद्धता की आवश्यकता है; एक दूसरे से DVCS "पुल" परिवर्तन के उपयोगकर्ता इससे गिटहब और बिटबुकेट की पसंद के मुकाबले अधिक सोशल कोडिंग की सुविधा मिलती है।

ये कुछ प्रासंगिक वस्तुएं हैं, इसमें कोई संदेह नहीं है कि अन्य लोग हैं





dvcs