svn जीआईटी के प्रयोजन के खिलाफ एक केंद्रीय भंडार का उपयोग कर रहा है?




git dvcs (6)

यदि आप किसी विशेष एप्लिकेशन पर काम कर रहे कई लोगों के साथ कॉर्पोरेट सेटिंग में हैं, तो क्या यह एक वितरित संस्करण नियंत्रण प्रणाली के अनाज के खिलाफ जा रहा है ताकि आधिकारिक केंद्रीय भंडार प्राप्त हो?

कभी-कभी मैं एक वितरित संस्करण नियंत्रण प्रणाली की अवधारणा को समझने में संघर्ष करता हूं जैसे कॉर्पोरेट वातावरण में जीआईटी । अगर आपके पास कोई केंद्रीय भंडार नहीं था, तो यह पता लगाने के लिए कि कौन से नवीनतम अपडेट किए गए संस्करण को खींचने के लिए एक पीआईटीए नहीं होगा, जिसकी सुविधा एक्स या बग फिक्स है और हर किसी को हड़पने की ज़रूरत है आदि

क्या यह जीआईटी के उद्देश्य को एसवीएन के समान फैशन में उपयोग करने के लिए पराजित कर रहा है, एक केंद्रीय भंडार के साथ जो हर कोई धक्का / खींचता है? हर बार जब मैं ऐसा करने के बारे में सोचता हूं तो मुझे लगता है कि मुझे सब कुछ बिन्दु है।

क्या कोई मुझे रोशन कर सकता है?


अगर आप जीआईटी की इस प्रस्तुति की जांच करते हैं, (स्लाइड 475 और निम्न), एक केंद्रीय भंडार मॉडल पूरी तरह से Git द्वारा समर्थित है

आप किसी भी व्यक्ति को अपने विकास को git push लिए मजबूर कर सकते हैं पहले git fetch + git merge पहले git fetch + git merge , फिर धक्का दें।

यह गिट के उद्देश्य को हराने के लिए बिल्कुल भी नहीं, और यह सुनिश्चित करता है कि प्रत्येक एक दूसरे के साथ 'सिंक' में है

जेनस्पियर द्वारा लिनुस के "आधिकारिक" रिपॉजिटरी के साथ अंतर यह है कि इसे एक अलग वर्कफ़्लो, अर्थात् "डिक्टेटर एंड लेफ्टिनेंट्स" मॉडल द्वारा प्रबंधित किया जाता है, जहां लेखन एक्सेस (पुश) केवल लिनस के लिए दी जाती है, और पढ़ा किसी के लिए दी जाती है

अब: "क्या यह डीवीसी की बात को खत्म करता है?"

नहीं, आपने अभी भी प्रत्येक डेवलपर्स के लिए एक रिपॉजिटरी वितरित की है, और वे अपनी स्वयं की आंतरिक टीम वर्कफ़्लो के अनुसार, अपनी खुद की रिपॉजिटरी के बीच मिल कर / मर्ज कर सकते हैं।
हालांकि, अगर वे केन्द्रीय रेपो में योगदान करना चाहते हैं, तो उन्हें उस रिपोजिटरी के नवीनतम इतिहास के साथ पहले से अद्यतित होना होगा।


निश्चित रूप से गिट के उद्देश्य को हरा नहीं।

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

तब जब सब काम किया जाता है, तो आप इतिहास को साफ कर सकते हैं और एक समग्र, स्वच्छ, राज्य में केंद्रीय भंडार में पूरे किए गए परिवर्तनों को धक्का दे सकते हैं।

मुझे नहीं लगता है कि आप "निजी" के विचार को अलग करने के लाभ को कम करके अनुमान लगा सकते हैं और "सार्वजनिक" धक्का देता है यह परिवर्तनों को ट्रैक करने की अनुमति देता है, भले ही आप इस तरह के छोटे ग्रैन्युलैरिटी से लाभ उठा सकते हैं।


वितरित स्रोत नियंत्रण के साथ, एक केंद्रीय "आधिकारिक" भंडार नीति द्वारा स्थापित किया गया है - स्रोत नियंत्रण उपकरण संरचना नहीं है


आप शायद इस आरेख के तर्ज पर सोच रहे हैं:

यह संभवतः एक सीवीसीएस से आने वाले अराजकता की तरह दिखाई देगा। "हमें कुछ आदेश की ज़रूरत है", मैंने आपको सुना है?

अगर आपके पास कोई केंद्रीय भंडार नहीं था, तो यह पता लगाने के लिए कि कौन से नवीनतम अपडेट किए गए संस्करण को खींचने के लिए एक पीआईटीए नहीं होगा, जिसकी सुविधा एक्स या बग फिक्स है और हर किसी को हड़पने की ज़रूरत है आदि

हाँ। एक सीवीसीएस के विपरीत वास्तव में एक "नवीनतम संस्करण" नहीं है अगर कोई केंद्रीय स्थान नहीं है, तो आपको तुरंत पता नहीं चल पाया है कि नवीनतम संस्करण के लिए मुकदमा, जो या ईव देखना है। एक केंद्रीय स्थान यह स्पष्ट करता है कि नवीनतम "स्थिर" रिलीज़ क्या है

कुछ और कुछ इस तरह से:

यह ध्यान देने योग्य भी हो सकता है कि किसी संगठन के भीतर लोगों के समूहों के रिमेट के आधार पर एक से अधिक कथित केन्द्रीय भंडारक हो सकते हैं।

एक प्रोजेक्ट मैनेजर की कल्पना करें जो कई विकास टीमों का प्रबंधन करता है, प्रत्येक टीम में एक "केंद्रीय" रिपॉजिटरी हो सकती है जो वे आगे बढ़ते हैं हर हफ्ते, प्रोजेक्ट मैनेजर प्रत्येक टीम से अपने "केंद्रीय" रिपॉजिटरी में बदलाव ला सकता है, उन्हें मर्ज कर सकता है और उन्हें अपनी टीम के "केंद्रीय" रिपॉजिटरी में वापस ला सकता है

यह शायद एक महान उदाहरण नहीं है (मैं अभी भी इस सबके आसपास अपना सिर ले रहा हूं), लेकिन यह सिर्फ एक प्रोजेक्ट मैनेजर है। कुछ और परियोजनाओं / प्रबंधकों और क्यूए टीम में फेंक दो, तो आप देख सकते हैं कि मैं कहाँ से आ रहा हूं ..

-


ज़रुरी नहीं। डीसीवीएस सिर्फ केंद्रीय भंडार को शामिल किए बिना डेवलपर्स के बीच कैसे बातचीत करना है, इसके बारे में अधिक स्वतंत्रता की अनुमति देता है। आधिकारिक भंडार आम सहमति से ही आधिकारिक है । लिनक्स के पास एक केंद्रीय भंडार भी है, जिसमें से "आधिकारिक" कर्नेल-रिलीज का निर्माण होता है, लेकिन सेंट्रल, "आधिकारिक", रिपॉजिटरी और क्लाइंट रिपॉजिटरी के बीच कोई भौतिक अंतर नहीं है क्योंकि यह केन्द्रीकृत वीसीएस में है।


डीवीसीएस के मुख्य लाभों में से एक यह है कि आप 'आधिकारिक' रिपॉजिटरी से नवीनतम संस्करण प्राप्त कर सकते हैं और फिर इसके साथ साहसिक हो सकते हैं। आप स्थानीय रूप से परिवर्तन कर सकते हैं और वसीयत में वापस रोल कर सकते हैं इसका यह भी मतलब है कि आप सेंट्रल रिपॉज़टॉय तक पहुंच के बिना भी काम कर सकते हैं और अभी भी स्रोत कोड नियंत्रण का लाभ प्राप्त कर सकते हैं।

मुझे लगता है कि थोड़ा अनुशासन के साथ मॉडल बहुत अच्छी तरह से काम करता है। यह आलेख आपको विभिन्न मॉडल को अपनाने के लिए अच्छी तरह से बताता है







dvcs