.itignore NuGet के पैकेज को शामिल करें / इसमें पैकेज / repositories.config शामिल हैं


89

मैं एक विजुअल स्टूडियो प्रोजेक्ट के लिए .gitignore बनाने की कोशिश कर रहा हूं जो NuGet का उपयोग करता है। वर्तमान में इसमें शामिल हैं:

\packages/*
!packages/repositories.config

यह फ़ोल्डर में कुछ भी अनदेखा नहीं करता है। सब कुछ एक ऐड पर हो जाता है। मैंने भी कोशिश की है:

packages/
!packages/repositories.config

यह संकुल फ़ोल्डर में सब कुछ अनदेखा करता है और इसमें संकुल / repositories.config शामिल नहीं होता है।

मैं क्या गलत कर रहा हूं?

जवाबों:


114
/packages/
!packages/repositories.config

आप .gitignoreसंकुल फ़ोल्डर में एक भी जोड़ सकते हैं :

*
!repositories.config
!.gitignore

12
यह होता है, तो शर्म की बात हो .gitignoreही नजरअंदाज कर दिया। +1
थॉमस

2
पहला ब्लॉक मेरे लिए काम नहीं करता है (git संस्करण 1.8.4.msysgit.0)। मुझे लगता है कि पहली पंक्ति सिर्फ packagesस्टार के बिना होनी चाहिए ।
बर्चमियर ग्रांट

1
मैंने पाया कि विज़ुअल स्टूडियो ने अभी भी संकुल फ़ोल्डर प्रदर्शित किया है। मुझे फ़ाइल का सम्मान करने के लिए फ़ोल्डर ms-persist.xmlसे निकालना पड़ा । इस पर अधिक के लिए ericelineson.wordpress.com/2014/06/21/… देखें । .git.gitignore
रुदिवोनेस्टेन

मुझे नहीं पता कि आपने किस संस्करण पर यह कोशिश की है, लेकिन /packages/मेरे लिए काम नहीं किया। इसके बजाय मुझे यह उत्तर बहुत मददगार लगा। संक्षेप packages/*में चाल चली। Git संस्करण 2.6.1
स्टेलियोस एडमांटीडिस

36

मैंने उसी मुद्दे का सामना किया।

उपरोक्त किसी भी समाधान ने मेरे लिए काम नहीं किया। और मुझे लगता है कि कई .ignore फ़ाइलों को बनाए रखने के लिए यह एक खराब समाधान है।

इस तरह मैंने इसे हल किया।

**/packages/*
!**/packages/repositories.config

दो तारांकन को मिलाने से फ़ोल्डरों के किसी भी तार का मिलान होगा। मैंने सोचा था कि तारांकन छोड़ने का एक ही प्रभाव होगा, लेकिन जाहिर तौर पर मैं (हम) गलत थे, क्योंकि यह काम नहीं करता है।

Visual Studio के लिए आधिकारिक .gitignore टेम्पलेट निम्नलिखित समाधान सुझाता है :

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config

संपादित करें: आप अपने पसंदीदा प्रोजेक्ट के लिए .ignore फ़ाइल बनाने के लिए https://www.gitignore.io का उपयोग कर सकते हैं :-)


2
यह एकमात्र संस्करण है जो मेरे लिए काम करता है क्योंकि मेरे पास प्रत्येक में संकुल फ़ोल्डर के साथ रिपॉजिटरी में कई परियोजनाएं थीं। धन्यवाद।
माइकल लोगुटोव

1
वह जो बढ़िया काम करता है वह है विजुअल स्टूडियो के लिए अनुशंसित आधिकारिक टेम्पलेट + अंतिम पंक्ति को अनफिल्टर्ड करना।
वेजेनकोव

1
यह वास्तव में थोड़ा जोखिम भरा है। यह "संकुल" नाम के किसी भी फ़ोल्डर को अनदेखा करता है, न कि केवल समाधान स्तर पर। मुझे बहुत देर से पता चला कि मेरे कुछ मॉडल वर्ग कभी भी भंडार का हिस्सा नहीं थे।
रिच

2
अब इसे अपडेट कर दिया गया है: # NuGet Package .nupkg # संकुल पुनर्स्थापना ** / संकुल / # को बिल्ड / को छोड़कर अनदेखा किया जा सकता है , जिसका उपयोग MSBuild लक्ष्य के रूप में किया जाता है। यदि आवश्यक हो तो ** लक्ष्य
डैनियल रयान

सिवाय इसके कि !**/packages/build/मेरे लिए काम नहीं करता है, दिए गए समाधान के साथ ... बिल्ड फ़ोल्डर्स
कम्यूट


8

मुझे यह सरल पैटर्न काम मिला।

/packages/*/

इसे रूट पैकेज निर्देशिका में सभी निर्देशिकाओं को अनदेखा करना चाहिए, लेकिन वहां सभी फाइलें शामिल हैं। यह निश्चित नहीं है कि रिपॉजिटरी.कॉन्फिग के अलावा कौन सी फाइलें वहाँ दिखाई दे सकती हैं या क्या उन्हें रिपॉजिटरी में शामिल किया जाना चाहिए।

यह भी देखें। आइसिग्नोर सिंटेक्स: बिन बनाम बिन / बनाम बिन / * बनाम बिन / **


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