हालाँकि, मैं अपने व्यक्तिगत प्रोजेक्ट्स के लिए DVCS का उपयोग करता हूं और पसंद करता हूं, और पूरी तरह से यह देख सकता हूं कि यह आपकी परियोजना में दूसरों के योगदान को कैसे आसान बनाता है (जैसे कि आपके विशिष्ट गितुब परिदृश्य), ऐसा लगता है कि "पारंपरिक" टीम के लिए कुछ समस्याएं हो सकती हैं। TFS, Perforce, आदि जैसे समाधानों द्वारा नियोजित केंद्रीकृत दृष्टिकोण ("पारंपरिक" से मेरा मतलब है कि किसी एक परियोजना पर काम करने वाले कार्यालय में डेवलपर्स की एक टीम है जो कोई भी व्यक्ति "मालिक" नहीं है, संभवतः सभी उसी कोड को छूते हैं।)
इन समस्याओं के एक जोड़े को मैंने अपने दम पर दूर किया है, लेकिन कृपया अन्य विचारों के साथ झंकार करें।
एक पारंपरिक प्रणाली में, जब आप सर्वर में अपने परिवर्तन की जांच करने की कोशिश करते हैं, अगर किसी और ने पहले परस्पर विरोधी परिवर्तन की जाँच की है, तो आपको डीवीसी मॉडल में अपना चेक करने से पहले आपको विलय करने के लिए मजबूर किया जाता है, प्रत्येक डेवलपर अपने में जाँच करता है। स्थानीय स्तर पर परिवर्तन और कुछ बिंदु पर कुछ अन्य रेपो को धक्का देता है। उस रेपो में उस फ़ाइल की एक शाखा होती है जिसे 2 लोगों ने बदला। ऐसा लगता है कि अब किसी को उस स्थिति से निपटने के लिए प्रभारी बनाया जाना चाहिए। टीम में एक नामित व्यक्ति को पूरे कोडबेस का पर्याप्त ज्ञान नहीं हो सकता है जो सभी संघर्षों को मर्ज करने में सक्षम हो। तो अब एक अतिरिक्त कदम जोड़ा गया है जहां किसी को उन डेवलपर्स में से एक से संपर्क करना है, उसे बताएं कि मर्ज करें और फिर मर्ज करें (या फिर आपको एक बुनियादी ढांचा तैयार करना होगा जो उस कार्य को स्वचालित करता है)।
इसके अलावा, चूंकि डीवीसीएस स्थानीय स्तर पर काम करने को इतना सुविधाजनक बना देता है, इसलिए यह संभव है कि डेवलपर्स धक्का देने से पहले अपने स्थानीय रिपॉजिट में कुछ बदलाव कर सकें, जिससे इस तरह के टकराव अधिक आम हो सकते हैं।
जाहिर है अगर टीम में हर कोई केवल कोड के विभिन्न क्षेत्रों पर काम करता है, तो यह कोई समस्या नहीं है। लेकिन मैं उस मामले को लेकर उत्सुक हूं जहां हर कोई एक ही कोड पर काम कर रहा है। ऐसा लगता है कि केंद्रीकृत मॉडल बलों को बड़े और दर्दनाक मर्ज करने या किसी को "पुलिस" करने के लिए मुख्य रेपो की आवश्यकता को कम करने के लिए जल्दी और अक्सर से निपटने का सामना करना पड़ता है।
तो आप में से जो लोग अपने कार्यालय में अपनी टीम के साथ DVCS का उपयोग करते हैं, आप ऐसे मामलों को कैसे संभालते हैं? क्या आप अपने दैनिक (या अधिक संभावना, साप्ताहिक) वर्कफ़्लो को नकारात्मक रूप से प्रभावित पाते हैं? क्या मेरे कार्यस्थल पर डीवीसीएस की सिफारिश करने से पहले मुझे कोई अन्य विचार होना चाहिए?