2009-07-21 16 views
12
में पहले से मौजूद किसी से कोई नया प्रोजेक्ट बनाएं

पहले से मौजूद किसी को कॉपी करके TFS में एक पूरी तरह से नए प्रोजेक्ट बनाने के लिए सबसे अच्छा तरीका क्या है?TFS: TFS

मेरे पास एक एएसपी.नेट परियोजना है जिसमें प्रति वर्ष 50+ "रिलीज" होगी। प्रत्येक रिलीज एक अलग इकाई है जिसे अन्य सभी से स्वतंत्र रहने की आवश्यकता होती है। एक बार बनाया गया, मैं यह सुनिश्चित करना चाहता हूं कि किसी भी (स्रोत प्रोजेक्ट या प्रतिलिपि) में कोई भी परिवर्तन दूसरे को प्रभावित न करे।

यह स्रोत नियंत्रण के लिए ही है। मुझे किसी भी काम की वस्तुओं की प्रतिलिपि बनाने की आवश्यकता नहीं है।

प्री-टीएफएस दुनिया में मैं बस उस फ़ोल्डर की प्रतिलिपि बनाकर ऐसा करता हूं जिसमें सभी प्रोजेक्ट फाइलें होती हैं। इसने मुझे नए ऐप का 9 0% रास्ता तय किया, जिसे मैं नई रिलीज के लिए तैयार कर सकता था। यह बहुत दुर्लभ है कि मुझे मूल एप्लिकेशन में वास्तव में कार्यक्षमता जोड़ने की आवश्यकता है, और यहां तक ​​कि जब भी मैं इसे मौजूदा ऐप्स को कभी प्रभावित नहीं करता हूं। क्या यह अभी भी मेरे स्थानीय फ़ोल्डरों की प्रतिलिपि बनाकर और टीएफएस में एक नई परियोजना के रूप में प्रतिलिपि बनाकर टीएफएस का उपयोग कर संभव है?

कोई सुझाव? रिहाई प्रति एक शाखा ऐसा करने का "मानक" जिस तरह की तरह दिखता है, लेकिन मैं जल्दी से कि वास्तव में संबंधित नहीं हैं शाखाओं के दर्जनों के साथ खत्म हो जाएगा, और मैं नहीं बल्कि का कोई मौका नहीं के साथ, प्रत्येक नई परियोजना रखना चाहते हैं के रूप में यह अपना अलग परियोजना है दूसरे को प्रभावित करने वाले में परिवर्तन।

धन्यवाद!

  • प्रतिक्रियाओं के लिए धन्यवाद। मुझे लगता है कि आपने मुझे शुरू करने के लिए पर्याप्त अंतर्दृष्टि दी है। रिचर्ड, विस्तार के लिए धन्यवाद। मैं थोड़ा चिंतित था कि शाखाओं को गलती से मर्ज करना बहुत आसान हो सकता है।

उत्तर

5

यहाँ वास्तव में दो सवाल हैं:

1) क्या कॉपी/पेस्ट या शाखा करना बेहतर है?

मैं कहना है कि कॉपी/पेस्ट उचित नहीं है उपक्रम होगा। जब तक आप बहुत सावधान (कम से कम, रन 'tfpt treeclean' तुरंत कॉपी करने से पहले) कर रहे हैं, तो संभव है आप नए स्थान पर कुछ अनुचित फ़ाइलों में जाँच पहुंच जाएंगे। इसके अतिरिक्त, आप सर्वर पर FAR अधिक डिस्क स्थान का उपयोग करेंगे, क्योंकि इसे केवल diffs के बजाय 50+ पूर्ण प्रतियों को स्टोर करना होगा।

वस्तुतः कोई खतरा नहीं है कि शाखाएं "गलती से" रेखा से नीचे आ जाएंगी। शाखाओं को एक साथ मर्ज वापस शामिल कम से कम 3 जानबूझकर कदम: मर्ज (अपने आप में एक 4-पृष्ठ विज़ार्ड), तो, सभी विवादों को सुलझाने तो चेक इन pend।

न ही आपको पेड़ में अपनी जगह के रूप में भ्रमित होने की संभावना है। टीएफएस "पथ स्थान" शाखा का उपयोग करता है। इसका मतलब है कि शाखाएं उसी पथ के शीर्ष पर केवल संस्करण-टैग की बजाय स्रोत पेड़ में अलग-अलग भौतिक स्थानों के रूप में दिखाई देती हैं।चूंकि शाखाएं फ़ोल्डरों की तरह दिखती हैं, आप उन पर सभी सामान्य फ़ोल्डर संचालन कर सकते हैं: क्लोक (उन्हें अपने स्थानीय कार्यक्षेत्र में डाउनलोड न करें), अनुमति (विशेष रूप से, किसी की पढ़ने की अनुमति को हटाने से यह सुनिश्चित होगा कि वे इसे भी देख नहीं सकते हैं) हटाएं या नष्ट करें (जब आप वास्तव में उनके साथ किया जाता है)।

2) एक नई टीम परियोजना बनाने के लिए कब उचित है?

यह सामान्य रूप से एक अधिक जटिल विषय है। Official guidance। ।

हालांकि, मैं कहूंगा कि आपका मामला आसान है: ऐसा मत करो। टीम प्रोजेक्ट्स के बहुत सारे ओवरहेड हैं। एक finite number you can create on a server ... कभी भी है। ओवरहेड के अन्य रूपों के बारे में भी मत भूलना, जैसे प्रोजेक्ट एडमिनिस्ट्रेटर के लिए आपकी सभी सेटिंग्स पर बंदरगाह के लिए समय लगता है, और जब आपकी टीम के प्रत्येक डेवलपर अपने टीम एक्सप्लोरर को दोबारा जोड़ता है।

सभी के लिए क्या? ऊपर दिए गए लिंक उप-संरचना के रूपों के बारे में बहुत विस्तार से जाते हैं जिन्हें एकल टीम प्रोजेक्ट के अंदर बनाया जा सकता है। संक्षेप में, लगभग कुछ भी संभव है। कुछ क्षेत्रों में जो कुछ कमी है, वे टीम क्वेरीज़ और बिल्ड डेफिनिशन हैं, जो एक कंटेनर फ़ोल्डर तक सीमित हैं, और कुछ सेटिंग्स जैसे एक्सक्लूसिव चेकआउट जो सभी या कुछ भी नहीं हैं। जब तक आपके पास एक बहुत बड़ी या बहुत विविध टीम नहीं है, तब तक प्रति रिलीज अलग टीम परियोजनाओं के लाभ कमियों से अधिक होने की संभावना नहीं हैं।

बेशक, यदि एक "रिलीज" एक प्रमुख घटना है जो आपके एससीएम प्रथाओं में बदलाव को संकेत देती है, तो यह एक पूरी कहानी है। नई एससीएम => नई प्रक्रिया टेम्पलेट => नई टीम परियोजना। लेकिन मुझे संदेह है कि आप सालाना 50+ बार करते हैं :)

+0

"आधिकारिक मार्गदर्शन" लिंक मर चुका है। – HK1

4

मैं शाखाकरण का उपयोग करने की सिफारिश करता हूं। मुख्य शाखा से प्रत्येक रिलीज के लिए एक शाखा बनाएँ। जब तक आप शाखाओं को विलय नहीं करते हैं, वे स्वतंत्र रहेंगे। मुख्य शाखा में परिवर्तन केवल उन परिवर्तनों के बाद बनाए गए रिलीज़ को प्रभावित करेंगे।

आप फ़ाइलों की प्रतिलिपि और एक नया प्रोजेक्ट बना सकता है, लेकिन आप समस्याओं के एक जोड़े में पड़ सकते हैं:

  • परियोजनाओं "याद" है कि वे TFS में थे, वहाँ के लिए शारीरिक श्रम का एक सा है विशेष फ़ाइलों को साफ आदि
  • TFS आप शाखाओं के साथ एक परियोजना के साथ तुलना में कई परियोजनाओं है जब, धीमा हो सकता है
1

यह स्पष्ट हो सकता है लेकिन आपको केवल "नई परियोजना" के लिए एक नई परियोजना बनाना चाहिए। ऐसा लगता है कि आप एक ही प्रोजेक्ट के विभिन्न संस्करणों के बारे में बात कर रहे हैं।

यदि आप पिछले रिलीज के लिए अलग-अलग कोडबेस बनाए रखना चाहते हैं तो अन्य उत्तरदाताओं ने कहा है कि कोड को ब्रांच करना आपका सबसे अच्छा विकल्प है। जब आप अपने नवीनतम संस्करण से बग फिक्स को पुरानी रिलीज में मर्ज करना चाहते हैं तो यह अच्छी तरह से काम करता है।

हालांकि यदि आपके पास वास्तव में वास्तव में नई परियोजनाएं होनी चाहिए, तो भी आप उसी तरह शाखाकरण का उपयोग करते हैं।