दृश्य स्टूडियो के बाहर फ़ाइलों में किए गए परिवर्तनों का पता लगाने के लिए TFS 2010 कैसे है?


118

मैं Visual Studio 2010 के साथ टीम फाउंडेशन सर्वर 2010 का उपयोग कर रहा हूं।

जब भी मैं Visual Studio के बाहर एक फ़ाइल को संशोधित करता हूं, TFS फ़ाइल में किए गए परिवर्तन का पता नहीं लगाता है, और इस तरह मुझे संशोधित होने के बाद फ़ाइल में चेक-इन करने का विकल्प प्रदान नहीं करता है।

इसे कैसे हल किया जा सकता है?


18
तोड़फोड़ या जीआईटी (और शायद अन्य) एक फ़ाइल की जांच करने के लिए एपीआई के बजाय फाइलों की हैश की तुलना कर रहे हैं। अधिक सरल, और बहुत कम जोखिम भरा!
स्टीव बी

8
बदतर टीएफएस ने भी एक बदली हुई फ़ाइल को चेक करने की आवश्यकता नहीं देखी है, इसलिए आप अक्सर इसे भूल सकते हैं .. जब तक कि आपका सहकर्मी इसकी जाँच न करे और यह महसूस करे कि आपका कोड संकलित या काम नहीं करता है। कोई आश्चर्य नहीं कि लोग कहते हैं कि टीएफएस "स्टेरॉयड पर वीएसएस" है - बेहतर है, लेकिन फिर भी वीएसएस की कई समस्याएं हैं।
gbjbaanb

यह स्टेरॉयड पर VSS है, उसी तरह से जो स्टेरॉयड आपके शरीर को नष्ट कर देता है।
इयान केम्प

जवाबों:


48

यदि आपके पास विजुअल स्टूडियो के बाहर काम करने के दौरान आपके सर्वर से नेटवर्क कनेक्शन है, तो शायद यह सबसे अच्छा है कि इसे संपादित करने से पहले फ़ाइल को देखें और इसे संपादित करें, या तो tf कमांड लाइन क्लाइंट का उपयोग करके, या Windows Explorer शेल एकीकरण का उपयोग करके। टीएफएस पावर टूल्स रिलीज में उपलब्ध है । (साथ ही अन्य उपकरणों की बढ़ती संख्या में TFS एकीकरण है जो इसे स्वचालित बनाता है, लेकिन अगर आप सिर्फ नोटपैड का उपयोग कर रहे हैं, तो इसके लिए अभी भी एक मैनुअल कदम होना चाहिए।)

बेशक, कई बार ऐसा होता है जब आप काम कर रहे होते हैं और आपके पास एक नेटवर्क कनेक्शन उपलब्ध नहीं होता है जो आपको फाइलों को देखने की अनुमति देता है।

यदि आप जानते हैं कि आपने किन फ़ाइलों को संशोधित किया है, तो आप उन्हें विजुअल स्टूडियो के भीतर से देख सकते हैं, फिर आप उन्हें वापस चेक कर पाएंगे।

यदि आपको पता नहीं है कि आपने कौन सी फाइलें संपादित की हैं, तो आप tfpt onlineकमांड चलाकर (पावर टूल्स रिलीज का हिस्सा) बदलावों का पता लगा सकते हैं । यह उन फ़ाइलों का पता लगाएगा जिन्हें स्थानीय रूप से संशोधित किया गया है और इन फ़ाइलों को सर्वर से बाहर की जाँच करें।


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

160

TFS के पास इसके लिए "रिकॉन्सिल" कमांड है:

  1. स्रोत नियंत्रण एक्सप्लोरर खोलें
  2. परिवर्तनों के साथ फ़ोल्डर पर राइट-क्लिक करें और तुलना करें चुनें
  3. उन फ़ाइलों का चयन करें जिन्हें आप समेटना चाहते हैं ( सभी फ़ाइलों का चयन करने के लिए CTRL+ दबाएं A)
  4. Reconcile बटन पर क्लिक करें
  5. रेककन फोल्डर डिफरेंसेज डायलॉग में विकल्प सेट करें । सुनिश्चित करें कि जिन फ़ाइलों में लंबित परिवर्तन नहीं हैं वे चेक आउट पर सेट हैं
  6. ओके पर क्लिक करें
  7. यदि आपके पास स्थानीय परिवर्तन हैं, तो चेक आउट संवाद दिखाया जाएगा। पसंदीदा लॉक प्रकार सेट करें
  8. चेक आउट पर क्लिक करें

सुलह फ़ोल्डर अंतर

इसे भी देखें: फ़ोल्डरों के बीच सामंजस्य अंतर


13
यह सबसे अच्छा उत्तर है क्योंकि इसके लिए कमांड लाइन या जोखिम भरे 'लंबित परिवर्तनों' की आवश्यकता नहीं है।
निक 18

4
मेरा दिन बचाया! मैंने आपके कदमों का ठीक से पालन किया और यह बिल्कुल उम्मीद के मुताबिक काम किया। :-)
गिल्ड बार्नर

4
वर्णित के रूप में काम किया। सबसे अच्छा जवाब होना चाहिए।
निकोलस

दुर्भाग्य से, मेरे पूरे प्रोजेक्ट पर ऐसा करते समय, मुझे त्रुटि मिलती है निर्दिष्ट पथ, फ़ाइल नाम, या दोनों बहुत लंबा है। पूरी तरह से योग्य नाम 260 वर्णों से कम होना चाहिए, और निर्देशिका नाम 248 वर्णों से कम होना चाहिए। व्यक्तिगत फ़ोल्डरों का चयन करना मेरे लिए कोई विकल्प नहीं है, क्योंकि मैं उन सभी फाइलों निर्देशिकाओं को याद नहीं कर सकता, जिन्हें मैंने बदला है। कोई उपाय?
kraftwer1

2
वीएस 2015 अपडेट 3 में पूरी तरह से काम करना, बहुत बहुत धन्यवाद। सबसे अच्छा जवाब होना चाहिए, इसे काम करने के लिए कोई मुश्किल आदेश नहीं है
निकोलस लेउची

35

यह मेरे लिए काम किया, TFS पावर टूल्स का उपयोग कर:

tfpt online /adds /deletes /diff /noprompt /recursive directory-name

(जहां निर्देशिका-नाम निर्देशिका को अद्यतन किए जाने का मार्ग है, अन्यथा यह आपके संपूर्ण TFS रिपॉजिटरी में परिवर्तनों का पता लगाएगा)

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


टिप के लिए धन्यवाद @ अदम बाटकिन। एक आकर्षण की तरह काम किया और मैं अब तय कर रहा हूँ! +1
iOnline247

9
खबरदार, इस कमांड लाइन में अवांछित फाइलें भी शामिल होंगी: * .user, BIN \, obj, आदि ...
स्टीव बी

1
चीयर्स, मैं एक कमांड लाइन तरीके की तलाश कर रहा था ताकि मैं अपने स्थानीय Git रेपो से कंपनी के TFS को अपडेट करना स्वचालित कर सकूं!
मार्क के कोवन

2
@SteveB एक /exclude:fld_name/*,filenameस्विच है जिसे अवांछित फ़ाइलों को बाहर करने के लिए इस्तेमाल किया जा सकता है .. जिसने मुझे बहुत
रोका

1
मैं इस तरह से दौड़ता हूं tfpt online /deletes /noprompt /recursive directory-nameऔर हजार फाइलें like बदली ’जाती हैं, इसलिए इसे पूर्ववत करना होगा। लेकिन मैंने कभी भी इन्हें नहीं छुआ, बस हटाए गए फ़ोल्डर।
दिजमित्री लाहौड़ा

16
*1- make changes outside of Visual Studio
2- go to Visual Studio and open Source Control Explorer
3- right click on the folder > "Check Out for Edit" > "Check Out"
4- right click on the same folder > "Undo Pending Changes..." > "Undo changes" > "No to All"*

मैंने एक शाखा पर इस वर्कअराउंड का परीक्षण किया और इससे मुझे बहुत मदद मिली। लेकिन केवल नई फाइलें और नए फ़ोल्डर हैं जिन्हें मैन्युअल रूप से किया जाना है।

मैं ऑपरेशन से पहले एक शाखा बनाने की सलाह देता हूं। यह आपको ऑपरेशन के समय को अलग करता है।

नोट: यह तकनीक फ़ाइलों की समान सफाई भी करती है जिसे TFS हमेशा संशोधित रूप में चिह्नित करता है।


3
यह वास्तव में शैवाल के पोस्ट पर एक टिप्पणी होनी चाहिए , न कि एक नया उत्तर। किसी भी मामले में, मैं तब भी ऐसा करने के खिलाफ सिफारिश करूंगा क्योंकि मैंने इसके खिलाफ सिफारिश की थी जब शैवाल ने इसे ऊपर सुझाया था।
एडवर्ड थॉमसन

पूरी तरह से शानदार! बिल्कुल वही, जो मैं ढूंढ रहा था (हमारी कंपनी द्वारा हमारे TFS सर्वर को स्थानांतरित करने के बाद, और TFS / VS2010 इससे प्रभावित थे)। अब, मेरे पास अपनी संपादित फ़ाइलें हैं। धन्यवाद!
माइक गिल्डहिल

यह काम करता है, लेकिन एमएस को ऐसा करने के लिए बेहतर तरीके प्रदान करने चाहिए। एक अच्छे उत्पाद पर कमांड लाइन और हैक्स आवश्यक नहीं होना चाहिए (खासकर अगर यह वीएस में एम्बेडेड है)। SVN और मर्क्यूरियल इसे मज़े के लिए करते हैं ...
user2173353

बिंदु 4 के बजाय, आप tfpt uu stackoverflow.com/a/544285/10245
टिम एबेल

यह सिर्फ वही करता है जो आपने किया था। यह विज़ुअल स्टूडियो को आपके द्वारा किए गए कार्य से अवगत नहीं कराता है।
काइल डेलाने

7

इसे इस्तेमाल करे। यह कुछ प्रकार का है, लेकिन यह काम करता है:

  1. Visual Studio के बाहर परिवर्तन करें
  2. विजुअल स्टूडियो में जाएं और सोर्स कंट्रोल एक्सप्लोरर खोलें
  3. फ़ोल्डर पर राइट क्लिक करें> "चेक आउट के लिए संपादित करें" > "चेक आउट"
  4. उसी फ़ोल्डर पर राइट क्लिक करें> "लंबित परिवर्तन पूर्ववत करें ..." > "परिवर्तन पूर्ववत करें" > " सभी के लिए नहीं "

बस। अब परिवर्तन दिखाई दे रहे हैं।


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

1
यह सिर्फ वही करता है जो आपने किया था। यह विज़ुअल स्टूडियो को आपके द्वारा किए गए कार्य से अवगत नहीं कराता है।
काइल डेलाने

और अगर आपने उस सत्र में नए आइटम बनाए या जोड़े: चला गया बच्चा, चला गया!
क्रिश्चियन

4

दृश्य स्टूडियो के बाहर बदल गई फ़ाइलों का पता लगाने के लिए TFS प्राप्त करने का एक और उपाय भी है:

  1. समाधान ऑफ़लाइन खोलें
  2. सॉल्यूशन एक्सप्लोरर में सॉल्यूशन फाइल का चयन करें और फिर गो ऑनलाइन बटन दबाएं ( GoOnline बटन आइकन)

TFS इसके बाद होने वाले परिवर्तनों के समाधान को स्वचालित रूप से स्कैन करेगा।

चरण एक को विभिन्न तरीकों से प्राप्त किया जा सकता है। यहाँ कुछ हैं:

  • GoOffline Extension का उपयोग करें - बहुत सरल और प्रभावी।
  • यदि आप समाधान (कोई स्वचालित डोमेन विशेषाधिकार) खोलते समय TFS क्रेडेंशियल्स के लिए नहीं पूछते हैं, तो क्रेडेंशियल दर्ज न करें। समाधान ऑफ़लाइन खुलेगा और आप Go ऑनलाइन बटन दबाकर लॉगिन करेंगे
  • (चरम समाधान) अपने नेटवर्क केबल को डिस्कनेक्ट करें; समाधान खोलें; नेटवर्क केबल कनेक्ट करें।

3

दृश्य स्रोत भी इसी तरह से काम करता है और जिस तरह से मैंने वीएसएस या टीएफएस को बदलने के लिए नोटिस किया है वह दृश्य स्टूडियो के अंदर एक बार फ़ाइल की जाँच करके है।


1

ओपन सोर्स कंट्रोल और अपने टीएफएस फोल्डर में जाएं। फ़ोल्डर पर राइट-क्लिक करें और 'तुलना' चुनें।

ध्यान दें कि आपकी संपादित फाइलें लाल रंग में चिह्नित हैं।

मुझे लगता है कि यह बेहतर है tfpt onlineजिससे आपको ऐसी फाइलें भी मिलती हैं जो आसानी से पढ़ी नहीं जाती हैं और संपादित नहीं की जाती हैं।


1

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

इन चरणों का पालन करें: सबसे पहले, समाधान एक्सप्लोरर में, उस फ़ोल्डर का चयन करें जिसे आप फिर से संक्षिप्त करना चाहते हैं (मेरे लिए, यह मेरा संपूर्ण समाधान फ़ोल्डर था), और तुलना करें का चयन करें ... फ़िल्टर संशोधितयहां छवि विवरण दर्ज करें करें पर क्लिक करें , और फ़िल्टर पाठ में- बॉक्स, आप टाइप कर सकते हैं:

*.cs;!obj\;!bin\;!packages\;

इस उदाहरण में, यह खोज में केवल C # फ़ाइलों को शामिल करेगा और फ़ोल्डरों में बाहर करेगा: बिन, obj और संकुल।

ध्यान दें कॉलम में बदलाव की जानकारी है कि क्या फाइल को एडिट, ऐड आदि के रूप में चिह्नित किया गया है ... या कुछ भी नहीं ...

  • संपादित के रूप में चिह्नित करने के लिए (जब स्थानीय आइटम में एक मिलान सर्वर आइटम होता है), फ़ाइल का चयन करें और संपादन के लिए बाहर की जाँच करें ...
  • जोड़ने के रूप में चिह्नित करने के लिए (जब स्थानीय आइटम में कोई सर्वर आइटम नहीं है), फ़ाइल का चयन करें और फ़ाइलें जोड़ें चुनें

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

+ समाधान में, कनेक्ट बटन पर क्लिक करें (यदि पता चलता है) जिसने गो ऑनलाइन कहा ।


0

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


0

मेरे मामले में, निम्नलिखित ने काम किया (कम से कम एक बार मैंने इसे आज़माया):

  1. पर जाएं लंबित परिवर्तनों पैनल
  2. शामिल या बहिष्कृत परिवर्तनों के तहत दृश्य विकल्प चुनें ।
  3. सभी दिखाएँ और समाधान परिवर्तन दिखाएँ के बीच स्विच करें
  4. यदि वांछित है तो वापस स्विच करें

TFS परिवर्तन ताज़ा करें

दृश्य विकल्प को बदलने से संशोधित फ़ाइलों को ताज़ा करने के लिए मजबूर होना प्रतीत होता है।

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