सर्वश्रेष्ठ सामान्य SVN पैटर्न को अनदेखा करें?


175

सबसे अच्छा (या जितना संभव हो उतना अच्छा) सामान्य एसवीएन पैटर्न का उपयोग करने के लिए उपेक्षा करें?

कई अलग-अलग आईडीई, संपादक, संकलक, प्लग-इन, प्लेटफ़ॉर्म, आदि विशिष्ट फाइलें और कुछ फ़ाइल प्रकार हैं जो "ओवरलैप" हैं (यानी कुछ प्रकार की परियोजनाओं के लिए वांछनीय और दूसरों के लिए नहीं)।

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

इस सवाल का जवाब किसी भी परियोजना के लिए एक अच्छी शुरुआत के रूप में काम करेगा - केवल उन्हें कुछ पर्यावरण विशिष्ट वस्तुओं को जोड़ने की आवश्यकता होती है जिनकी उन्हें आवश्यकता होती है। इसे अन्य संस्करण नियंत्रण प्रणाली (VCS) के लिए भी अनुकूलित किया जा सकता है।


नमस्ते Zach, मैं तुम्हारा यह पोस्ट पढ़ रहा हूं: zachburlingame.com/2011/03/… और मेरे पास कुछ सवाल हैं..इसके साथ आप तक पहुंचने का कोई रास्ता है? अपने समय के लिए धन्यवाद ... पुनश्च: आप तक पहुँचने के लिए कोई अन्य रास्ता नहीं मिल सकता है इस टिप्पणी के अलावा, झुंझलाहट के लिए खेद है
ब्रैम

जवाबों:


193

मैं इस सवाल पर अपने दो सेंट जोड़ूंगा:

मैं निम्नलिखित सीवीएन को TortoiseSVN और तोड़फोड़ CLI के साथ देशी C ++, C # / VB.NET और Windows और Linux दोनों प्लेटफार्मों पर PERL परियोजनाओं के लिए उपयोग करें। ये मेरे लिए अच्छी तरह से काम करता है!

कॉपी और पेस्ट के लिए प्रारूपित:

* .o * .lo * .la # * #। *। rej * .rej। * ~ * *। # * .DS_Store thumbs.db Thumbs.db * .bak * .class * .exe * .dll * .mine * .obj * .ncb * .लिब * .log * .idb * .ild * .msk * .msi * .res * .pch * .suo * .exp *। * *। * ~ *। ~ * ~ *। * cvs CVS। .CVS .cvs रिलीज़ रिलीज़ डिबग इग्नोर बिन बिन obj ओब्ज * .csproj.user * .user * .generated.cs पर ध्यान न दें।

पठनीयता के लिए प्रारूपित:

* .o * .लो * .ला # * #। *। rej * .rej
। * ~ * ~ ~। # * .DS_Store thumbs.db 
Thumbs.db * .bak * .class * .exe * .dll
* .Mine * .obj * .ncb * .लिब * .log 
* .idb * .pdb * .ilk * .msi * .res * .pch * .suo 
* .exp *। * ~ *। ~ * ~ *। * cvs CVS .CVS .cvs  
रिलीज़ रिलीज़ डिबग डीबग
इग्नोर करें बिन बिन ओब्ज ओब्ज
* .csproj.user * .user
* .generated.cs

5
* .Tmp * .temp के बारे में क्या?
बॉब किंग

3
इसके अलावा, अगर आप WPF * .g.vb * .g.cs * .baml * .GenerateResource.Cache * .cache
बॉब किंग

6
क्या यह आवश्यक है क्योंकि यह तब हो सकता है जब संदर्भ असेंबलियों को भंडार में भी शुरू करने की आवश्यकता हो?
जारोस्लाव अर्बन

6
@Xabatcha - आप हमेशा स्पष्ट रूप से किसी भी एक्सटेंशन (या फ़ोल्डर) की एक फ़ाइल शामिल कर सकते हैं, भले ही यह वैश्विक अनदेखी पैटर्न में सूचीबद्ध हो या नहीं। आम तौर पर आप नहीं चाहते हैं *। SVN द्वारा ट्रैक किया जा रहा है, लेकिन आप हमेशा स्पष्ट रूप से किसी भी आवश्यक लोगों को जोड़ सकते हैं (जो मैं अक्सर तीसरे पक्ष की विधानसभाओं के मामले में करता हूं)।
ज़च बर्लिंगम

2
यदि आप ReSharper ऐड का उपयोग कर रहे हैं, तो भी
ऑटोनोमैट

44

बेली के अनदेखे पैटर्न के आधार पर, मैंने ReSharper को अनदेखा सूची में शामिल किया है

कॉपी और पेस्ट के लिए प्रारूपित:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user

पठनीयता के लिए प्रारूपित:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak
*.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs
CVS .CVS .cvs release Release debug
Debug ignore Ignore bin Bin obj Obj
*.csproj.user *.user _ReSharper.* *.resharper.user

1
मैं इसके साथ भी उपयोग करता हूं: _ReSharper। *
Dve

1
ध्यान दें कि Dve की टिप्पणी को ऊपर दिए गए पैटर्न में शामिल किया गया है। आपको इसे फिर से जोड़ने की आवश्यकता नहीं है।
हाइड्रार्जियम

34

विज़ुअल स्टूडियो के लिए मेरा अनदेखा पैटर्न:

* * बिन * / obj * / रिलीज़ * / डिबग * .su * .err * .log * .obj * .bin *। dll * .exe * .LOG * .user * .pdb [tT] एंपायर [tT] एंपपी। Ankh.Load thumbs.db * .resharper * .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper। * बिन obj * .resharperoptions * .db *_beSharper * * .snk लॉग आउटपुट आउटपुट टेस्टसचर्स टेस्ट हो जाता है। । * * .क्रंचप्रोजेक्ट। *

पठनीयता के लिए प्रारूपित

* * बिन * / ओब्ज * / रिलीज * / डिबग * .सो * .रोर * .लोग * .obj * .bin * .dll * .exe 
* .LOG * .user * .pdb [tT] एंपायर [tT] एंपियर Ankh.Load thumbs.db * .resharper। 
* .vpspscc * .vsssccc * .scc * / _ ReSharper * * / _SSperper। * बिन obj। 
* .resharperoptions * .db * .bak * _ReSharper * * .snk लॉग टेस्ट टेस्ट दोष 
*। क्रंचलिंग। * *। क्रंचप्रोजेक्ट। *

16

हर बार जब मैं एक फाइल भरता हूं तो मैं आम तौर पर रिपॉजिटरी में नहीं चाहता हूं, मैं पैटर्न को अपडेट करता हूं। मेरा मानना ​​है कि कोई "सर्वश्रेष्ठ" पैटर्न नहीं है - यह हमेशा उस भाषा और वातावरण पर निर्भर करता है, जिसमें आप विकसित होते हैं।

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


2
मैं मानता हूं कि पूर्ण अर्थ में कोई "सर्वश्रेष्ठ" पैटर्न नहीं है, जो कि मैंने क्यों जोड़ा (या जितना संभव हो उतना अच्छा)। आप सही हैं, आप उन सभी की गणना नहीं करेंगे और यह लैंग और एनवी पर निर्भर करता है, जो मैंने भी कहा था। हालाँकि, वहाँ एक बड़ी संख्या है जो आप बल्ले से बाहर खटखटा सकते हैं
ज़च बर्लिंगम

1
जब आप चलते हैं तो उन्हें जोड़ते समय आप एकल डेवलपर वातावरण के लिए ठीक काम करते हैं, जब आपके पास एक प्रोजेक्ट पर कई डेवलपर्स होते हैं, तो एक सामान्य प्रोजेक्ट की अनदेखी करना वांछनीय होता है। आप इसे जितना संभव हो उतने बार अपडेट करना चाहते हैं, इसलिए आप जितना संभव हो उतने सामने से बाहर आना चाहते हैं
Zach Burlingame

बेशक, * .bin * .bak * .pdb * .su आदि आदि के सामान्य पैटर्न को सामने सेट करना होगा, मैं सहमत हूं। लेकिन एक बार जब आप एक रिपॉजिटरी फ़ोल्डर में प्रज्वलन करने वाले गुणों को सेट करते हैं, तो वे प्रभावी रूप से साझा हो जाते हैं - हालांकि मैं जानता हूं कि यह वही नहीं है जो आपका मतलब था।
पेट्र के।

11

Windows उपयोगकर्ता Desktop.ini और thumbs.db में फेंकना चाह सकते हैं।


4

मेरे विज़ुअल स्टूडियो प्रोजेक्ट्स के लिए उपयोग किया जाता है

*/bin */obj *.user *.suo

आप वहां से अधिक फ़ाइल प्रकारों का विस्तार कर सकते हैं।


मैंने आज पहले भी ऐसी ही एक सूची देखी थी - * और बिन और सिर्फ बिन में क्या अंतर है? मान लें कि आप संपूर्ण फ़ोल्डर को अनदेखा करना चाहते हैं।
हार्पो

खंड 5.13 पढ़ें। TortoiseSVN मदद फ़ाइल की फ़ाइलों और निर्देशिकाओं को अनदेखा करना।
icelava

5
tortoisesvn.net/docs/release/TortoiseSVN_en/… वहाँ यह कहता है कि आपको एक / या \ _ को शामिल नहीं करना चाहिए, और उनमें से एक पुराने संस्करणों की विरासत है
सिमोन डी

@ साइमन, यह नहीं कह रहा है (ग्लोबल इग्नोर लिस्ट में "नो पाथ्स इनसेट") कि रास्ते ठीक हैं svn:ignore, लेकिन ग्लोबल इग्नोर लिस्ट में नहीं हैं?
मैथ्यू फ्लैशेन

3

Visual Studio (VC ++) उपयोगकर्ताओं को निश्चित रूप से .ncb फ़ाइलों को बाहर करने की आवश्यकता होती है


1

मैक उपयोगकर्ता शायद .DS_Store में फेंकना चाहते हैं। इसके अलावा, अगर ईमैक या विम का उपयोग कर रहे हैं, तो आप शायद ~ ~ और # # जोड़ना चाहते हैं ।


1

ग्रहण के लिए, मैं उपयोग करता हूं:

bin
.*

* सभी परियोजना विन्यास हो जाता है। आप लगभग कभी भी 'छिपी' निर्देशिका या फ़ाइल में जाँच नहीं करना चाहते हैं, लेकिन अगर यह आता है, तो आप अभी भी इसे जोड़ सकते हैं।


obj भी आवश्यक है, साथ ही * .user फाइलें
jrojo

1

चूँकि आप तीसरे पक्ष के परिवादों का उपयोग कर रहे हैं और परियोजना के हिस्से के रूप में dll का उपयोग कर रहे हैं तो मुझे * .लिब और * .dll को रिपॉजिटरी से ब्लॉक करने में समझदारी नहीं दिख रही है। ये वे चीजें हैं जो भंडार में संग्रहित की जानी हैं।


5
तीसरे पक्ष के काम का उपयोग करते समय, dlls, exes, आदि बस उन्हें स्पष्ट रूप से जोड़ें। यदि आप संपूर्ण तृतीय पक्ष वृक्ष को करना चाहते हैं, तो केवल अस्थायी रूप से अनदेखा पैटर्न अक्षम करें। आप नहीं चाहते कि इन प्रकारों को दिन-प्रतिदिन के विकास के दौरान स्पष्ट रूप से उठाया जाए, इसलिए पैटर्न में उनका समावेश है।
ज़ैक बर्लिंगम

1

विज़ुअल स्टूडियो 2010 के उपयोगकर्ताओं को ipch(एक फ़ोल्डर जिसमें C ++ पूर्वनिर्धारित हेडर होते हैं) और *.sdf(किसी भी तरह की परियोजना के लिए इंटेलीजेंस द्वारा उपयोग की जाने वाली विशाल फाइलें ) को जोड़ना चाहिए ।


0

पैटर्न इस बात पर निर्भर करता है कि आप किस ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं।

लिनक्स पर, आप ** o *, ** को ब्लॉक करना चाहते हैं। इसलिए *, **। * A, और **। La * को शुरू करें। आप ** ~ * (संपादन से बैकअप फ़ाइल) और # * # (किसी दुर्घटना से बैकअप खाली करना) को अवरुद्ध करना चाह सकते हैं।

विंडोज पर, आप **। Obj *, **। Lib *, और ** dll * को बहुत कम से कम चाहते हैं।

किसी भी अन्य फाइल को आपको अपने IDE, एडिटर और कंपाइलर पर निर्भर करना होगा।


0

यदि आप एक का उपयोग करने के लिए मिश्रण में Resharper जोड़ें।

एक और के लिए बाहर देखने के लिए है Ankh *। *


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



0

gitignore.io git के लिए विन्यास योग्य पैटर्न प्रदान करता है। वे एक पठनीय सूची प्रदान करते हैं, जिसे आपको एसवीएन के लिए सुधार करने की आवश्यकता है।

उदाहरण के लिए, MicrosoftOffice और Windows रिटर्न का अनुरोध करना

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

0

gitignore.io git के लिए विन्यास योग्य पैटर्न प्रदान करता है। वे एक पठनीय सूची प्रदान करते हैं, जिसे आपको एसवीएन के लिए सुधार करने की आवश्यकता है।

उदाहरण के लिए, MicrosoftOffice और Windows रिटर्न का अनुरोध करना

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

ऐसा लगता है कि इसे सीधे इस्तेमाल किया जा सकता है svn:global-ignore

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