2010-02-24 14 views
45

यहां मुझे जो हिस्सा मिलता है: जब आप टीएफएस में शेल्व करते हैं, तो यह परिवर्तनों की एक सर्वर प्रतिलिपि बनाता है ताकि वे खो न जाए, लेकिन उन्हें उस स्रोत कोड ट्रंक/शाखा में चेक नहीं किया गया है जिस पर आप काम कर रहे हैं।टीएफएस में असहज: इसका क्या अर्थ है?

प्रश्न: आप किस परिस्थिति में "असहनीय" सुविधा का उपयोग करेंगे? क्या इसका मतलब यह है कि यह टीएफएस सर्वर से अलमारियों को हटा देगा? क्या आप अलमारियों से प्राप्त कर सकते हैं? या यह वास्तव में अलमारियों और "वास्तविक" स्रोत कोड के बीच एक अंतर वर्णन है?

उत्तर

51

असहज यह है कि आप अपनी मशीन पर अलमारियों को कैसे पुनर्स्थापित करते हैं ताकि आप इस पर काम कर सकें। यह सर्वर पर अलमारियों को नहीं बदलता है (ऐसा करने के लिए आपको चीजों को फिर से खोलने और समान शेल्फसेट नाम का उपयोग करने की आवश्यकता है)।

मैं इसका उपयोग करने के लिए एक उदाहरण है कि मैं उन पर काम कर रहा हूं, जबकि मशीनों के बीच परिवर्तनों को स्थानांतरित करना है। मैं इसे अपने डेस्कटॉप मशीन पर ढूढ़ूंगा, फिर लैपटॉप पर इसे छेड़छाड़ करूँगा और फिर लैपटॉप पर काम करना जारी रखूंगा।

आप किसी के साथ परिवर्तन (कोड समीक्षा या अन्य कारणों के लिए) साझा करने के लिए इसका उपयोग भी कर सकते हैं। आप अपने परिवर्तनों को ढंकते हैं, फिर दूसरा व्यक्ति यह देखकर जा सकता है कि आपने क्या किया है।

असहिष्णुता वास्तव में सर्वर पर शेल्फसेट या कुछ और नहीं बदलती है। यह सिर्फ एक ऑपरेशन है।

+1

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

+0

@ सीवान, आपको अपने कोड को छेड़छाड़ करने से पहले अपने कोड को ढंकने की जरूरत है। फिर जब आप उसके साथ समाप्त हो जाते हैं, तो अपना कोड असुरक्षित करें। – David

30

हर्म्स स्पॉट पर है। उसका जवाब पढ़ें।

एक महत्वपूर्ण चेतावनी: यदि आपने अलमारियों के निर्माण के बाद से प्राप्त किया है, तो अनशेल्व केवल के स्थानीय संस्करण को शेल्वसेट में निहित करेगा। इस प्रकार, यह काफी संभावना है कि आपके पास एक असंगत कार्यक्षेत्र होगा।

एक अच्छी प्रैक्टिस हमेशा पुन: चलाने के बाद प्राप्त करें अनचेल्व करें। यह सुनिश्चित करता है कि आप प्रेत निर्माण त्रुटियों पर समय बर्बाद न करें जो वास्तव में आधा-नए/आधे पुराने राज्य में होने के साइड इफेक्ट्स हैं। यह आपको केवल @ चेकइन समय की खोज करने के बजाय अलमारियों की सामग्री और नवीनतम सर्वर संशोधन के बीच किसी भी संघर्ष को हल करने की आवश्यकता होगी।

4

मैं कोड-इन-प्रगति का बैक अप लेने के लिए शेल्व का उपयोग करता हूं, बस मेरी हार्ड ड्राइव दुर्घटनाओं या क्या नहीं। मुझे कोड बिल्डिंग के बारे में भी चिंता करने की ज़रूरत नहीं है, काम पर ध्यान न दें, क्योंकि काम मेरी टीम के किसी भी अन्य डेवलपर्स द्वारा नहीं देखा जाएगा (जब तक कि वे इसकी तलाश नहीं करते)।

अनशेल्व आपके कार्यक्षेत्र में बदलावों को वापस भेजता है। सर्वर से अलमारियों को हटाने एक हटा है।

रिचर्ड बर्ग ने जो कहा, उसके बाद असफलता के पावर टूल्स के संस्करण में वास्तव में एक समाधान और संकल्प शामिल है।

+1

दुर्भाग्यवश, 'tfpt unshelve' मेरे अनुभव में बहुत छोटी है। –

+0

मैं इसे अक्सर इस्तेमाल नहीं करता हूं। बाद में प्राप्त करना आसान है। मैं इसे एक मामले में उपयोग करूंगा - अगर मुझे अन-चेक-इन कोड को एक अलग (लेकिन बहुत समान!) शाखा में स्थानांतरित करने की आवश्यकता होती है। – stannius

+0

इसकी छोटी गाड़ी नहीं है। इसकी एक प्रक्रिया है। हम टीएफएस को सटीक कोड रखने की उम्मीद नहीं कर सकते हैं। लेकिन मुझे लगता है कि जब टीएसएफ अनचाहे होने पर 95% -100% के करीब अपना काम करेगा। – Kurkula