TFS में शेलिंग क्या है?


317

क्या टीएफएस में ठंडे बस्ते में डालना केवल एक नरम चेकइन है ताकि टीम के अन्य सदस्य स्रोत कोड देख सकें?

यानी आश्रय कोड सही संकलित नहीं किया जाएगा?

जवाबों:


453

ठंडे बस्ते में कई उपयोग हैं। मुख्य हैं:

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

कोई अन्य उपयोग करता है?


16
जब एक चेंजेस को ठंडे बस्ते में डाला जाए तो या तो स्थानीय रूप से (2 या 3 के लिए उपयोगी) लंबित परिवर्तनों को संरक्षित कर सकते हैं या नहीं (1 के लिए उपयोगी)
dumbledad

2
शेल्फ़ पर दृश्य स्टूडियो प्रलेखन कुछ अतिरिक्त संदर्भ और कैसे जानकारी के लिए है।
होलिस्टिक डेवलपर

1
इसका उपयोग गेटेड बिल्ड द्वारा उन परिवर्तनों को संग्रहीत करने के लिए भी किया जाता है जब तक कि एक अंतिम प्रतिबद्ध नहीं किया जा सकता है।
टॉर ardस्टरगार्ड

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

जब आप स्थानीय रूप से परिवर्तन को संरक्षित करने के विकल्प का चयन करते हैं, तो बस फाइलों की जांच की जाती है।
जाक

105

ठंडे बस्ते में डालने के बिना अपने बॉक्स पर सभी परिवर्तनों को सहेजने का एक तरीका है। सर्वर पर परिवर्तन जारी हैं। किसी भी समय बाद में आप या आपकी टीम का कोई भी साथी आपकी किसी भी मशीन पर उन्हें "अनचाहे" वापस कर सकता है।

यह समीक्षा उद्देश्यों के लिए भी बहुत अच्छा है। हमारी टीम में एक चेक के लिए हम अपने परिवर्तनों को बदल देते हैं और परिवर्तन के विवरण और नाम के साथ एक ईमेल भेजते हैं। टीम के लोग फिर बदलाव देख सकते हैं और प्रतिक्रिया दे सकते हैं।

FYI करें: किसी समतल की समीक्षा करने का सबसे अच्छा तरीका निम्नलिखित कमांड है

tfpt समीक्षा / अलमारियाँ: shelvesetName; उपयोगकर्ता नाम

tfpt टीम फाउंडेशन पावर टूल्स का एक हिस्सा है


6
यह ध्यान दिया जाना चाहिए कि मैन्युअल रूप से परिवर्तनों और ईमेल जानकारी को समाप्त करने का आज कोई कारण नहीं होगा। आधुनिक प्रक्रिया एक कोड समीक्षा का अनुरोध करना है।
चीफट्विपेंसिल्स

34

ये सही है। यदि आप एक शेल्फ बनाते हैं, तो अन्य लोग जो नवीनतम कार्य करते हैं, वे आपका कोड नहीं देखेंगे।

यह सर्वर पर आपके कोड में बदलाव करता है, जो शायद आपके काम के पीसी से बेहतर है।

यह आपको एक और मशीन पर अपने परिवर्तनों को लेने में सक्षम बनाता है, क्या आपको घर से काम करने का आग्रह करना चाहिए।

अन्य लोग आपकी अलमारियों को देख सकते हैं (हालांकि मुझे लगता है कि यह वैकल्पिक हो सकता है) ताकि वे चेक-इन से पहले आपके कोड की समीक्षा कर सकें।


ये सही है। यदि आप एक शेल्फ बनाते हैं, तो अन्य लोग जो नवीनतम कार्य करते हैं, वे आपका कोड नहीं देखेंगे। इसका मतलब 1) जब मैं TFS में कोड की जाँच करूँगा तब मेरी टीम का सदस्य अपने सिस्टेन में कोड देखेगा यदि वह नवीनतम मिलेगा? 2) तो इसका मतलब है कि किस खाते से हमने कोड को आश्रय दिया है, उसी खाते से हम केवल आश्रय कोड देखेंगे? कृपया मुझे सही करें अगर मैं गलत हूँ
कृष

आप चाहें तो दूसरे लोगों की अलमारियां देख सकते हैं।
तेयदेई

3
अधिक सटीक होने के लिए, "अन्य लोग जो नवीनतम कर रहे हैं वह आपका कोड डाउनलोड नहीं करेगा "
सर्गियोल

18

इन चर्चाओं में से एक में बहुत याद किया जाता है कि आप SAME मशीन पर वापस कैसे लौटते हैं, जिस पर आपने अपने परिवर्तनों को बदल दिया है। शायद सबसे स्पष्ट है, लेकिन मेरे लिए नहीं था। मेरा मानना ​​है कि आप एक पूर्ववत लंबित परिवर्तन करते हैं - क्या यह सही है?

मैं इस प्रक्रिया को इस प्रकार समझता हूं:

  1. अपने वर्तमान लंबित परिवर्तनों को पूरा करने के लिए, प्रोजेक्ट पर राइट-क्लिक करें, शेल्व करें, एक शेल्व नाम जोड़ें
  2. यह सर्वर में परिवर्तन (या शेल्व) बचाएगा (कोई भी उन्हें नहीं देखेगा)
  3. फिर आप अपने कोड को अंतिम चेक-इन बिंदु पर वापस लाने के लिए पूर्ववत लंबित परिवर्तन करते हैं
  4. आप फिर से कोड बेसलाइन के साथ जो करना चाहते हैं वह कर सकते हैं
  5. आप किसी भी समय परिवर्तन रद्द कर सकते हैं (कुछ विलय की आवश्यकता हो सकती है)

इसलिए, यदि आप कुछ काम शुरू करना चाहते हैं, जो आपको शेल्व करने की आवश्यकता हो सकती है, तो सुनिश्चित करें कि आप शुरू करने से पहले चेक-इन करें, क्योंकि चेक-इन बिंदु वह जगह है जहां आप ऊपर दिए गए पूर्ववत परिवर्तन परिवर्तन करते समय वापस आ जाएंगे।


8
यदि आप शेल्फ सेट बनाते समय "स्थानीय रूप से लंबित परिवर्तनों को संरक्षित करें" चेक बॉक्स को खाली करते हैं, तो आप पूर्ववत लंबित परिवर्तनों को छोड़ सकते हैं।
माइकल जे।

14

मैं हर समय इस पर आता हूं, इसलिए शाखाओं के बारे में पूरक जानकारी:

यदि आप कई शाखाओं के साथ काम कर रहे हैं, तो अलमारियाँ उस विशिष्ट शाखा से बंधी हैं जिसमें आपने उन्हें बनाया था। इसलिए, यदि आप बहुत लंबे समय तक शेल्फ पर एक परिवर्तनशील जंग लगाते हैं और एक अलग शाखा को अनसुना करना पड़ता है, तो आपको यह करना होगा कि बिजली उपकरण के जुलाई रिलीज के साथ।

tfpt unshelve /migrate

विषय से बाहर, लेकिन सच है :-)
Tore ,stergaard

2
यह टिप्पणी इतनी पुरानी है कि स्टैक ओवरफ्लो जवाब से पहले इसे जोड़ा गया था ettiquete स्थापित किया गया था :-)
joshua.ewer

2

शेल्विंग ऐसा है जैसे आपके परिवर्तन मौजूदा नियंत्रण को प्रभावित किए बिना स्रोत नियंत्रण में संग्रहीत किए गए हैं। इसका मतलब है कि यदि आप स्रोत नियंत्रण में एक फ़ाइल की जाँच करते हैं तो यह मौजूदा फ़ाइल को संशोधित करेगा लेकिन ठंडे बस्ते में डालना आपके स्रोत नियंत्रण में बदलाव की तरह है लेकिन वास्तविक परिवर्तनों को संशोधित किए बिना।


1

@JaredPar: हाँ आप शेल्सेट्स का उपयोग समीक्षाओं के लिए कर सकते हैं लेकिन ध्यान रखें कि अलमारियाँ स्वयं / अन्य लोगों द्वारा अधिलेखित की जा सकती हैं और इसलिए दीर्घकालिक स्थिर नहीं हैं। इसलिए नियामक प्रासंगिक समीक्षाओं के लिए आपको कभी भी शेल्वसेट का उपयोग आधार के रूप में नहीं करना चाहिए, बल्कि एक चेकइन (चेंजसेट) का उपयोग करना चाहिए। एक अनौपचारिक समीक्षा के लिए यह ठीक है लेकिन औपचारिक (एग्जी एफटीए प्रासंगिक) समीक्षा के लिए नहीं!


0

यदि आप गेट बिल्ड का उपयोग कर रहे हैं, जब एक बिल्ड ट्रिगर होता है, तो यह आपके कार्यक्षेत्र का एक सेल्फसेट बनाता है जो बिल्ड के लिए सबमिट किया जाता है। यदि बिल्ड विफल हो जाता है, तो अलमारियों को अस्वीकार कर दिया जाता है। यदि बिल्ड सफल होता है, तो एक परिवर्तन किया जाता है और TFS के लिए प्रतिबद्ध होता है। किसी भी घटना में, उस चेक-इन / बिल्ड को करने वाले व्यक्ति को कार्यक्षेत्र में सामंजस्य स्थापित करना होगा, जो एक गेट लेटेस्ट प्रदर्शन के रूप में सरल है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.