आप एक मानवीय समस्या के तकनीकी समाधान की तलाश कर रहे हैं। वह शायद ही कभी काम करता है।
यहाँ कुछ दृष्टिकोण हैं जिनका मैंने या तो अतीत में उपयोग किया है या वास्तव में अभ्यास में उन्हें अवसर दिए बिना मन में है। कुछ आपके मामले में लागू नहीं हो सकते हैं, आपके पास एक टीम में स्थिति के आधार पर (यदि आप उत्कृष्ट प्रतिष्ठा के साथ एक टीम का नेतृत्व कर रहे हैं, तो संभावना है कि आपके पास एक स्नातक होने की तुलना में आपके विचार को लागू करने का एक बेहतर अवसर होगा बस अपनी इंटर्नशिप की अवधि के लिए एक टीम में शामिल हो गए)।
अपने सहकर्मियों के साथ इस मुद्दे पर चर्चा करें और बड़े कमिट के परिणामों की व्याख्या करें। हो सकता है कि वे बस यह नहीं समझते कि जटिल मर्ज दुर्लभ कमिट का सीधा परिणाम है, और छोटे से, लगातार कम होने से मर्ज (अपेक्षाकृत) आसान हो जाएगा।
मैं ऐसे बहुत से प्रोग्रामर जानता था जो केवल इस बात से आश्वस्त थे कि विलय हमेशा जटिल होते हैं । उन्होंने प्रति दिन सबसे अधिक प्रतिबद्ध किया, विजुअल स्टूडियो के अंतर और ऑटो-मर्ज जैसे शक्तिशाली साधनों का उपयोग करने से परहेज किया, और मैनुअल मर्जिंग का एक खराब अभ्यास किया था (जब तक कि आगे कोई अलग निरीक्षण न हो, "मेरा लें" वास्तव में एक अच्छा अभ्यास है)। उनके लिए, इस के साथ कोई संबंध नहीं था उन्हें , और किसी मर्ज के निहित प्रकृति था।
अन्य कंपनियों में क्या हो रहा है, इसके ठोस उदाहरण दें (विशेष रूप से आपके सहकर्मियों का गहरा सम्मान है)। वे केवल इस बात से अनजान हो सकते हैं कि यह एक मुद्दा है, और आश्वस्त रहें कि प्रति दिन एक अधिकतम एक प्रतिबद्धता है जो हर टीम करती है।
कुछ लोग इस बात से अनजान हैं कि 5-10 सदस्यों की टीमें हैं, जो उत्पादन तक 50 पुश अप करती हैं, जो प्रति व्यक्ति प्रति दिन 5-10 कम से कम औसतन अनुवाद करता है। वे न तो समझ सकते हैं कि यह कैसे संभव है, न ही कोई ऐसा क्यों करेगा।
मिसाल पेश करके। पर्याप्त छोटे अपने आप करो। यदि संभव हो, तो एक सप्ताह में उनके और आपके मर्ज को एक साथ दिखाते हुए एक छोटी प्रस्तुति दें (मुझे यकीन नहीं है कि इस प्रकार की जानकारी को निकालना एक संस्करण नियंत्रण से आसान है)। अपने विलय के दौरान उनके द्वारा की गई अंतिम गलतियों पर जोर दें और उनकी तुलना की गई त्रुटियों की संख्या से करें (जो शून्य के करीब होनी चाहिए)।
उपयुक्त होने पर "मैंने आपको बताया" तकनीक का उपयोग करें । जब आप देखते हैं कि आपके सहकर्मी एक दर्दनाक मर्ज से अधिक पीड़ित हैं, तो जोर से टिप्पणी करें कि छोटे, लगातार आने वाले मर्ज को (अपेक्षाकृत) पीड़ारहित बना सकते हैं।
बता दें कि कमिट करने के लिए कोई न्यूनतम अवधि नहीं होती है। एक प्रतिबद्धता कुछ सेकंड में किए गए मामूली बदलाव के अनुरूप भी हो सकती है। एक फ़ाइल का नाम बदलना, एक अप्रचलित टिप्पणी को हटाना, एक टाइपो को ठीक करना सभी कार्य हैं जो तुरंत किए जा सकते हैं।
प्रोग्रामर को एक छोटे से कमिट करने से डरना नहीं चाहिए, बल्कि एक विशाल कमिट में कई बदलावों को एकत्र करना चाहिए।
जब उचित हो, टीम के बजाय व्यक्तियों के साथ काम करें। यदि कोई ऐसा व्यक्ति है जो विशेष रूप से अक्सर करने से इनकार करता है, तो छोटा करता है, इस व्यक्ति के साथ व्यक्तिगत रूप से बात करें कि वह इसे क्यों मना कर रहा है।
वे पूरी तरह से वैध कारण दे सकते हैं जो आपको संकेत दे सकता है कि टीम के साथ क्या हो रहा है। कुछ कारण जो मैंने खुद सुने हैं:
"मेरे शिक्षक / गुरु ने मुझे बताया कि सबसे अच्छा अभ्यास एक प्रति दिन के लिए प्रतिबद्ध करने के लिए है।" यह मेरे आश्चर्य नहीं है, यह देखते हुए क्या मैं कॉलेज में मेरे शिक्षकों से सुनने के लिए किया था ।
"मेरे सहयोगियों ने मुझे बताया कि मुझे कम हंगामा करना चाहिए।" मुझे बताया गया है कि कुछ टीमों में भी, और मैं उनकी बात समझता हूं। हमारे पास एक लॉग था जो व्यावहारिक रूप से मेरे कमिट्स से भरा था (ऐसा करने के लिए मुश्किल नहीं जब चार टीममेट्स प्रति दिन एक भी कमिट नहीं करते हैं), जिसने मेरे सहकर्मियों को निराश किया।
"मुझे लगा कि छोटे कमिट्स में संशोधन करना मुश्किल होता है।" किसी भी तरह मान्य बिंदु, यहां तक कि जब टीम वर्णनात्मक लॉग संदेशों को लिखने में प्रयास करती है।
"हम अपने संस्करण नियंत्रण सर्वर पर बहुत अधिक स्थान बर्बाद नहीं करना चाहते हैं।" व्यक्ति स्पष्ट रूप से यह नहीं समझता है कि कैसे संग्रहीत किया जाता है (न ही भंडारण स्थान कितना सस्ता है)।
"मुझे लगता है कि एक प्रतिबद्ध को एक विशिष्ट कार्य के अनुरूप होना चाहिए।" यह देखते हुए कि अक्सर, एक कार्य एक दिन में किए जाने वाले कुछ कार्यों से मेल खाता है (जैसे कि दृश्य प्रबंधन के कार्य बोर्डों में), यह एक संयोग नहीं है। व्यक्ति को तब एक बैकलॉग (काम के 2 से 8 घंटे) और तार्किक रूप से अलग-थलग बदलाव के बीच अंतर करना सीखना चाहिए जो कि कुछ घंटों (कुछ घंटों के काम के लिए) के लिए प्रतिबद्ध होना चाहिए। यह भी बिंदु 5 से संबंधित है।
जिस कारण से टीम अधिक बार कमिट नहीं कर रही है, उसे खोजें। परिणामों से आप आश्चर्यचकित हो सकते हैं।
हाल ही में, मैंने एक अलग जवाब में उल्लेख किया है कि एक प्रतिबद्ध मामलों की गति, और यहां तक कि सैकड़ों मिलीसेकेंड डेवलपर्स को कम लगातार आधार पर धक्का दे सकते हैं।
अन्य कारणों में शामिल हो सकते हैं:
एक प्रतिबद्ध संदेश लिखने के लिए अत्यधिक जटिल नियम।
वह नियम जो डेवलपर को बग ट्रैकिंग सिस्टम से किसी कार्य के लिए प्रतिबद्ध करने के लिए बाध्य करता है।
बिल्ड के टूटने का डर।
अभी निर्माण तोड़ने के जोखिम से निपटने की अनिच्छा: यदि आप छोड़ने से ठीक पहले शुक्रवार की शाम को कमिट करते हैं, तो आप सोमवार तक टूटे हुए निर्माण से निपटने को स्थगित कर सकते हैं।
मर्ज करने का डर।
निर्धारित करें कि क्या डेवलपर्स समझते हैं कि अक्सर प्रतिबद्ध होने के अन्य लाभ हैं । उदाहरण के लिए, एक कंटीन्यूअस इंटीग्रेशन प्लेटफॉर्म लगातार आने के लिए एक बहुत बड़ा प्रोत्साहन है , क्योंकि यह ठीक उसी तरह से इंगित करने की अनुमति देता है, जहां प्रतिगमन पेश किया गया था ।
मैं सीआई मंच को यह बताना पसंद करूंगा कि मैंने संशोधन ५०२३ में निर्माण को तोड़ा है जिसमें पंद्रह मिनट पहले किए गए एक फाइल में दो तरीकों में एक बदलाव है, बजाय संशोधन ५०२३ में बदलाव से मिलकर जो चार दर्जन फाइलें और प्रतिनिधित्व करते हैं। 13 घंटे का काम।