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