मैं TFS स्रोत नियंत्रण से किसी विशिष्ट फ़ाइल को कैसे निकाल सकता हूं


89

हमारे पास कई कॉन्फिगर फाइल (app.DEV.config, app.TEST.config, आदि) और एक प्री-बिल्ड इवेंट है जो सही कॉन्फिगर फाइल को app.config में कॉपी करता है। जाहिर है कि कॉन्फ़िगरेशन विशिष्ट फाइलें स्रोत नियंत्रण में हैं --- लेकिन फिलहाल तो App.Config है, और यह नहीं होना चाहिए।

मैं उस फ़ाइल को स्रोत नियंत्रण से बाहर कैसे चिह्नित कर सकता हूं, लेकिन स्पष्ट रूप से परियोजना से नहीं।

मैं वीएस 2005, और 2005 टीम एक्सप्लोरर का उपयोग कर रहा हूं।



जवाबों:


39

MS Power Tools में एक चेकिन नीति (निषिद्ध प्रतिमान नीति) है जो आपको एक नियमित अभिव्यक्ति के विरुद्ध फ़ाइल नाम देता है। देखें: Microsoft टीम फाउंडेशन सर्वर पावर टूल्स

जबकि चेकइन नीतियां पूरी तरह से मूर्ख नहीं हैं, वे निकटतम चीज हैं जो टीएफएस को उपयोगकर्ता-परिभाषित नियमों को लागू करना है जैसे कि आप क्या देख रहे हैं।

(और जैसा कि अन्य लोगों ने कहा है, आप किसी फ़ाइल या फ़ोल्डर को भी क्लॉक कर सकते हैं, जिसका अर्थ है कि यह सोर्स कंट्रोल में रहता है और टीम के बाकी सभी लोगों के लिए दृश्यमान है, लेकिन जब तक आप इसे अनलॉक्ड करने का निर्णय नहीं लेते हैं, तब तक यह आपके पीसी पर कॉपी नहीं किया जाता है;) फ़ाइल को डिलीट कर सकते हैं, जिसका अर्थ है कि यह नवीनतम होने पर हर किसी के पीसी से डिलीट हो जाता है - लेकिन इनमें से कोई भी विकल्प पहली बार में ऐसी फाइलों को सोर्स कंट्रोल में जोड़े जाने से नहीं रोकेगा)


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

मेरे पास काम पर VSTS2005 / 2008 है, लेकिन मैं इसे घर पर लिख रहा हूं, इसलिए मेरा उत्तर मेरी खराब स्मृति से था - क्षमा करें! बस एहसास हुआ कि आपको जो चाहिए वो है TFS पॉवर टूल्स "निषिद्ध पैटर्न" नीति में जाँच। यह आपको अवांछित फ़ाइल नाम के regex और ब्लॉक चेकइन का उपयोग करके फ़ाइल नाम से मेल करने की अनुमति देता है: msdn.microsoft.com/en-us/teamsystem/bb980963.aspx#checkin
जेसन विलियम्स

अच्छी कॉल, मैं उस पॉलिसी के बारे में भूल गया था। मैं इसे दृश्यता देने के लिए आपकी पोस्ट संपादित करूंगा।
रिचर्ड बर्ग

मैं एक शाखा को कैसे खोल सकता हूँ ??? मैंने गलती से एक शाखा छिपाई है और मैं इसे VS2012
रोलीवियर्स

95

यह TFS2012 में आसान है, एक .tfignore फ़ाइल बनाएँ

http://msdn.microsoft.com/en-us/library/tfs/ms245454%28v=vs.110%29.aspx#tfignore

######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
# 
# Ignore .txt files in this folder 
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

# EDIT https://msdn.microsoft.com/en-us/library/ms245454(v=vs.110).aspx#tfignore
# A filespec is recursive unless prefixed by the \ character.

आप एक पुनरावर्ती अनदेखा पैकेज फ़ोल्डर कैसे करेंगे, लेकिन इसमें पैकेज / रिपॉजिटरी.कॉन्फ़िग शामिल हैं?
मास्लो

@ मैस्लो, अगर आपको यह मिल गया, तो बेझिझक मेरे जवाब को संपादित करें। एक बहुत ही सामान्य सेटिंग की तरह लगता है और हमें इसे उदाहरण में रखना चाहिए
Artfulhacker

परियोजना संग्रह की जड़ में .tfignore फ़ाइल स्वचालित रूप से पदानुक्रम को नीचे लागू करती है, भले ही उनके पास वह फ़ोल्डर मैप / डाउनलोड न हो?
मैस्लो

2
यह केवल स्थानीय कार्यक्षेत्रों के साथ समर्थित है। msdn.microsoft.com/library/vstudio/…
सूमो

45

समाधान एक्सप्लोरर में App.config फ़ाइल का चयन करें, और फ़ाइल चुनें -> स्रोत नियंत्रण -> स्रोत नियंत्रण से App.config को बाहर निकालें।


1
वास्तव में मुझे अपनी छोटी फ़ाइलों को संग्रहीत करने की आवश्यकता नहीं थी।
वलमास

13
यह मुझे बताता है कि यह विकल्प साधारण संदर्भ मेनू में सूचीबद्ध नहीं है
एरिक हेर्लिट्ज

6
मेरे पास वह विकल्प नहीं है। : '- (
जन आगाड

2
यह विजुअल स्टूडियो 2013 अल्टीमेट या तो मौजूद नहीं है :(
यट्रोग

4
यह मेरे विज़ुअल स्टूडियो प्रीमियम 2013 (संस्करण 12.0.3023.00 अपडेट 3) में फ़ाइल (स्रोत नियंत्रण> उन्नत> स्रोत नियंत्रण से App.config के तहत) मौजूद है।
मार्टिन बैक्स्ट्रम 7

21

एक विकल्प है जिसे खोजना मुश्किल है:

1. सोल्यूशन एक्सप्लोरर में फाइल या मल्टीपल फाइल्स का चयन करें

2. फाइल पर जाएं -> स्रोत नियंत्रण -> उन्नत

बाहर निकालने का रास्ता

और यहाँ यह है

यहाँ बहिष्कृत है

ध्यान रखें: यदि आप समाधान एक्सप्लोरर में एक फ़ाइल पर राइट क्लिक करते हैं, तो आप केवल "सबसे महत्वपूर्ण विकल्प" पाते हैं :)


नहीं, आपको फ़ोल्डर्स को अनपॉल करना होगा और प्रत्येक फ़ाइल का चयन करना होगा जिसे आप बाहर करना चाहते हैं।
फेलिक्स कील

13

यदि आप चाहते हैं कि परियोजना में एक फ़ाइल है, लेकिन TFS के साथ स्रोत नियंत्रण में नहीं है, तो बस SourceControl में जाएं, उक्त फ़ाइल को हटाएँ, और प्रोजेक्ट फ़ाइल के अपने चेकआउट को पूर्ववत करें (यह फ़ाइल को प्रोजेक्ट से हटाने का प्रयास करेगा कुंआ)। उसके बाद आपके द्वारा हटाए जा रहे फ़ाइल को चेक-इन करें। समाधान खोजकर्ता में आपको यह देखना चाहिए कि जिस फ़ाइल को आप बाहर कर रहे हैं, उसके आगे कोई स्रोत नियंत्रण चिह्न नहीं है। प्रोजेक्ट फ़ाइल को वहां एक फ़ाइल सूचीबद्ध करनी चाहिए, लेकिन अब उस फ़ाइल को स्रोत नियंत्रण में नहीं होना चाहिए।

ध्यान रखें, किसी भी अन्य व्यक्ति को प्रोजेक्ट में एक नवीनतम फ़ाइल दिखाई देगी जब वे नवीनतम प्राप्त करेंगे।


7

TFS आपको फ़ोल्डर / फ़ाइल स्तर पर क्लोक करने की अनुमति देता है। जब कुछ क्लोज़्ड होता है, तो TFS इसे सिंक करने का प्रयास नहीं करेगा (बहुत कुछ svn की तरह: अनदेखा करें)।

अपना कार्यक्षेत्र सेट करते समय, TFS को अनदेखा करना चाहते हैं। एक और अधिक विस्तृत कैसे यहाँ है


यदि केवल सभी कार्य-स्थानों के लिए फ़ोल्डर को बंद करने का एक तरीका था ... सुरक्षा के तहत कोई समकक्ष सेटिंग नहीं देखें।
felickz

आप फ़ाइल स्तर पर नहीं जा सकते; केवल फ़ोल्डर।
dudeNumber4

@ dudeNumber4 मेरा मानना ​​है कि यह सुविधा टीएफएस के बाद के संस्करणों में अक्षम थी, प्रारंभिक उत्तर लिखे जाने के बाद। हालांकि आप इस हैक की कोशिश कर सकते हैं: social.msdn.microsoft.com/Forums/vstudio/en-US/…
joshua.ewer

5

यह मेरे लिए काम किया:

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

स्रोत: = "> मैं TFS स्रोत नियंत्रण से किसी विशिष्ट फ़ाइल को कैसे निकाल सकता हूं


2

विजुअल स्टूडियो 2013 (2012 और 2012)

यह सुविधा फ़ाइल का चयन करके और इसमें जाने के लिए उपलब्ध है:

File > Source Control > Advanced > Exclude ... from Source Control

2012 में कोई बाहर नहीं हुआ है।
एक्सपैटेग्ड

मैं इसे 2013 में भी नहीं देख रहा हूँ
विजयसबेर

2

यह सवाल कुछ समय पहले पूछा गया था लेकिन यह उसी प्रकार के मुद्दे से संबंधित है जो मैं कर रहा था।

समस्या:

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

कारण:

  • टीम फाउंडेशन सर्वर विजुअल स्टूडियो प्लगइन हमारी फाइलों पर केवल पढ़ने के लिए हमारी फाइलों में जांच करने पर केवल विशेषता को बदल देता है।

घटना का उदाहरण बनाएँ:

  • कॉपी "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"

ऊपर, हमें बस अपने प्रोजेक्ट फ़ोल्डर में अपने लक्ष्य बिल्ड पथ (बिन \ डीबग या बिन \ रिलीज़ फ़ोल्डर) से एक फ़ाइल को स्थानांतरित करने की आवश्यकता है। मेरी स्थिति में, यह ऐसा था जब मैं अपने इंस्टॉलर में प्रोजेक्ट निर्मित फ़ाइलों को शामिल कर सकता था। मेरे इंस्टॉलर ने उन्हें प्रोजेक्ट आउटपुट के भाग के रूप में नहीं पकड़ा था।

फिक्स: (जब मैंने यह पता लगाया तो मेरे चेहरे पर लगभग लात मारी गई)

नई बिल्ड घटना:

  • अट्रिब -R "$ (प्रोजेक्टडिअर) SomeFile.ext"
  • कॉपी "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
  • अट्रिब + आर "$ (प्रोजेक्टडिअर) SomeFile.ext"

हम सभी बिल्ड इवेंट्स के साथ मज़े कर रहे हैं? ऊपर मैं बस 2 चीजें करता हूं, मैं केवल पढ़ने की विशेषता को हटा देता हूं, अब फाइलें केवल पढ़ने के लिए नहीं। अपनी फ़ाइल की प्रतिलिपि बनाएँ क्योंकि मैं मूल रूप से चाहता था। फिर विजुअल स्टूडियो और टीम फाउंडेशन को खुश रखने के लिए रीड ओनली एट्रीब्यूट (वैकल्पिक I अनुमान) को बदलें।

और हाँ ... मैं अभी भी इस पर खुद को चेहरे पर लात मार रहा हूं।


0

मेरे पास एक समान मुद्दा है, मेरे App.config में समझदार डेटा (जैसे उपयोगकर्ता नाम) है कि यह डेटा TFS के साथ सिंक नहीं होना चाहिए।

लेख ASP.NET और Azure ऐप सेवा के लिए पासवर्ड और अन्य संवेदनशील डेटा की तैनाती के लिए सर्वोत्तम अभ्यास इस समस्या को रोकने के लिए एक अच्छा तरीका बताता है:

"AppSettings" तत्व की "फ़ाइल" विशेषता का उपयोग करें एक कॉन्फ़िगरेशन फ़ाइल को संदर्भित करने के लिए जो स्रोत-नियंत्रण में नहीं जोड़ा गया है


0

यदि आपके पास TFS2012 की तुलना में पुराना संस्करण है और इस प्रकार आप .tfignoreफ़ाइल नहीं बना सकते हैं या File > Source Control > Advanced > Exclude …विकल्प का उपयोग नहीं कर सकते हैं, तो आप यह कोशिश कर सकते हैं:

  • Windows Explorer में लक्ष्य फ़ाइल की एक प्रतिलिपि बनाएँ।
  • टीम एक्सप्लोरर / विज़ुअल स्टूडियो में लक्ष्य फ़ाइल पर लंबित परिवर्तन (यदि कोई हो) पूर्ववत करें।
  • Windows Explorer में लक्ष्य फ़ाइल को हटाएँ।
  • हटाए गए लक्ष्य फ़ाइल के स्थान पर लक्ष्य फ़ाइल की प्रतिलिपि ले जाएँ, और उसका नाम बदलें ताकि उसका नाम हटाए गए लक्ष्य फ़ाइल के समान हो।

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


0

आप बस अपने स्रोत नियंत्रण एक्सप्लोरर और उस पर राइट क्लिक से फ़ाइल का चयन कर सकते हैं, और वहां से "नाम बदलें" विकल्प का चयन करें, और आप फ़ाइल नाम के अंत में ".exclude" जोड़ सकते हैं।

और फिर फ़ाइल को चेक-इन करना याद रखें, और उसके बाद आप देख सकते हैं कि आपकी फ़ाइल को स्रोत नियंत्रण से बाहर रखा गया है।

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