मैं आपके प्रश्न का उत्तर देने के लिए सोचता हूं, पहले हमें यह देखना होगा कि टकराव क्यों होता है, और विलय का सही अर्थ और प्रक्रिया क्या है?
संघर्ष केवल तब होता है जब दो या अधिक डेवलपर्स एक ही समय पर एक ही फ़ाइल पर काम कर रहे होते हैं और फिर वे दोनों चेक इन करने की कोशिश करते हैं। पहले डेवलपर को कोई संघर्ष नहीं मिलेगा, ज़ाहिर है। लेकिन दूसरे (तीसरे, चौथे, और इसी तरह) संघर्षों को मिलेगा। क्यों, क्योंकि उसके पास कुछ कोड है जो सर्वर पर मौजूदा कोड से आंशिक या पूरी तरह से अलग है।
प्रकृति में इसका मतलब है कि दूसरे डेवलपर के पास पहले डेवलपर की तुलना में कुछ अलग है। यह अंतर स्टाइलिंग से भिन्न हो सकता है, जैसे आपके द्वारा बताए गए स्तर तक उपयोग new UserManager().GetUserName()
करने के बजाय UserManager userManager = new UserManager(); userManager.GetUserName();
, जिसका अर्थ है कि दोनों डेवलपर्स के पास इस बारे में अलग-अलग विचार थे कि इसे सुधारने के लिए कोड को कैसे रिफैक्ट किया जाए।
दूसरी ओर विलय, इसका मतलब यह नहीं है कि डेवलपर्स संघर्षों पर विचार किए बिना अपने कोड में जांच कर सकते हैं। वे चाहिए और चाहिए उन संघर्षों का समाधान करें। यदि संघर्ष महत्वपूर्ण नहीं हैं, तो वे पिछले कोड को चेक-इन और ओवरराइड कर सकते हैं। लेकिन जब वे कुछ पूरी तरह से अलग देखते हैं, तो उन्हें पिछले डेवलपर को कॉल करना चाहिए, और उससे बात करनी चाहिए, ताकि वे दोनों एक साथ मिलकर सबसे अच्छा समाधान चेक-इन कर सकें।
उदाहरण के लिए, यदि आप दो डेवलपर्स को ऑनलाइन-भुगतान पुस्तकालय में सुधार करने के लिए कहते हैं , और उनके काम को ओवरलैप करते हैं, तो इसका मतलब है कि कम से कम कुछ स्थानों पर, 2 अलग-अलग समाधान हैं। तो, उन समाधानों में से एक के बारे में बात की जानी चाहिए और स्वीकार किया जाना चाहिए, इस प्रकार बेहतर समाधान के रूप में चेक-इन किया जाना चाहिए।
मैं इन परिस्थितियों को रोकने पर सहमत नहीं हूं , क्योंकि हमें सैद्धांतिक से अधिक वास्तविक होना चाहिए। कभी-कभी एक लड़का सीएसएस पर वास्तव में अच्छा होता है, जबकि दूसरा वास्तव में ASP.NET मार्कअप में अच्छा होता है। लेकिन जब वे दोनों इसे काम करने के लिए लॉगिन पेज पर काम करना चाहिए तो उनका काम संघर्ष हो सकता है। मेरा मतलब है, अगर हम वास्तविक (आदर्श नहीं) सोचते हैं, तो हम देख सकते हैं कि कई बार यह घटना (संघर्ष) होती है।
एक और बिंदु जो मैं सिर्फ उल्लेख करना चाहता था, वह है अपनी चेक-इन प्रक्रिया में आपकी सहायता करने के लिए उपकरणों का उपयोग करना। ये उपकरण आमतौर पर सर्वर कोड और डेवलपर कोड के अंतर की कल्पना करते हैं, और यह निर्धारित करने में बहुत मदद करते हैं कि किस भाग को चेक-इन किया जाना चाहिए।