विजुअल स्टूडियो 2008 परियोजनाओं के लिए मर्क्यूरियल .hgignore


164

Visual Studio 2008 के साथ काम करते समय .hignore फ़ाइल के लिए एक अच्छा सेटअप क्या है?

मैं ज्यादातर अपने दम पर विकसित होता हूं, केवल उसी समय मैं किसी और के लिए उस पर काम करने के लिए भंडार का क्लोन तैयार करता हूं।

मैं obj फ़ोल्डर्स, .su, .sln, .user फ़ाइलों इत्यादि के बारे में सोच रहा हूँ .. क्या वे सिर्फ शामिल किए जा सकते हैं या क्या मैं इसमें शामिल नहीं होने वाली फ़ाइल हैं?

धन्यवाद!

ps: फिलहाल मैं निम्नलिखित कार्य करता हूं: सभी .pdb फ़ाइलों और सभी obj फ़ोल्डरों को अनदेखा करें।

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/

6
साइड नोट: मुझे लगता है कि .sln फाइलों को सोर्स कंट्रोल से बाहर नहीं किया जाना चाहिए
Slavo

2
स्लावो, आप सही हैं। समाधान फ़ाइलों (.sln) में आपकी परियोजनाओं की संरचना शामिल है, इसलिए आप अपने भंडार में उन लोगों को शामिल करना चाहते हैं।
यहां तक ​​कि मियां

जवाबों:


208

यहाँ मेरा मानक .hgignore फ़ाइल VS2008 के साथ उपयोग के लिए है जिसे मूल रूप से Git अनदेखा फ़ाइल से संशोधित किया गया था:

# Ignore file for Visual Studio 2008

# use glob syntax
syntax: glob

# Ignore Visual Studio 2008 files
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
[Bb]in
[Dd]ebug*/
obj/
[Rr]elease*/
_ReSharper*/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml

4
नहीं, लेकिन उनके पास एक अनदेखा फ़ाइल की एक ही अवधारणा है।
यहां तक ​​कि मियां

2
लाइन [डीबी] ईबग * / - मैं मान रहा हूं कि एक लोअरकेस डी होना चाहिए न कि लोअरकेस बी, इस इग्नोर लिस्ट को एक टेम्प्लेट के रूप में इस्तेमाल किया और मुझे एक मिनट में यह पता लगाने में लग गया कि क्यों एक "डीबग" फोल्डर wasn ' t नजरअंदाज किया जा रहा है :) महान उपेक्षा फ़ाइल के लिए धन्यवाद।
नैट पिंचोट

4
मैं उस अनदेखा कोड की तलाश कर रहा था जो रोब कॉनरी ने अपने मर्क्यूरियल में कोडप्लेक्स टेकपब वीडियो के लिए इस्तेमाल किया था और यह इस एक्सल से मेल खाता था। अच्छा काम!
बेन मैककॉर्मैक

1
मेरे लिए इसका मतलब Debug.Something.dll.config नामक एक फाइल को नजरअंदाज कर दिया गया था, इसलिए मुझे लगता है कि अनुगामी / [Dd] ebug * / पर वांछित प्रभाव नहीं है। शायद खिड़कियों के लिए यह होना चाहिए [Dd] ebug * \?
रोरी

2
मेरे लिए इसका मतलब Debug.Something.dll.config नामक एक फाइल को नजरअंदाज कर दिया गया था, इसलिए मुझे लगता है कि अनुगामी / [Dd] ebug * / पर वांछित प्रभाव नहीं है। मुझे लगता है कि समस्या ग्लोब-शैली के सिंटैक्स के साथ है जो निर्देशिकाओं पर सही तरीके से मेल नहीं खाते हैं। यदि आप डीबग और रिलीज लाइनों बाहर ले जाना और फ़ाइल के तल पर तीन नई लाइनों के साथ उन की जगह: syntax: regexpऔर [Rr]elease.*/और [Dd]ebug.*/फिर इसे सही ढंग से काम करने लगता है।
रोरी

37

यह C # प्रोजेक्ट के लिए विशिष्ट है, लेकिन मैं इन फ़ाइलों / निर्देशिकाओं को अनदेखा करता हूं:

  • *.csproj.user
  • /obj/*
  • /bin/*
  • *.ncb
  • *.suo

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

अंत में आपके पास केवल उन्हीं फाइलों से भरी एक अच्छी निर्देशिका होगी जो प्रतिबद्ध होनी चाहिए।


5
मैं * .config फ़ाइलों को भी अनदेखा करता हूं, क्योंकि मेरी डेवलपर टीम सभी अलग-अलग वातावरण (स्थानीय db उदाहरण, स्थानीय ईमेल सर्वर, आदि) के तहत चलती है। इसके अलावा, पासवर्ड web.config में रहते हैं।
ऐश मशीन

मैंने हमेशा सोचा कि आपको इसकी आवश्यकता है। इसके लिए टिप के लिए धन्यवाद। हमने उस पर हर समय संघर्ष किया था।
शमदीप

24

मैं बातचीत से बचता हुआ महसूस करता हूं। यहाँ मेरी .hignign फ़ाइल है। यह सामान्य रूप से C #, C ++ और विजुअल स्टूडियो डेवलपमेंट को शामिल करता है, जिसमें COM सामान (टाइप लाइब्रेरी), कुछ अंतिम बिल्डर फाइलें, कोडरश, रीशर, और विजुअल स्टूडियो प्रोजेक्ट अपग्रेड शामिल हैं। यह आधुनिक (c.2015) वेब विकास के लिए कुछ उपेक्षा भी है।

syntax: glob

* - [Cc]opy
* - [Cc]opy/
* - [Cc]opy (?)/
* - [Cc]opy.*
* - [Cc]opy (?).*
**/.*
**/scss/*.css
*.*scc
*.FileListAbsolute.txt
*.aps
*.bak
*.bin
*.[Cc]ache
*.clw
*.css.map
*.eto
*.exe
*.fb6lck
*.fbl6
*.fbpInf
*.ilk
*.lib
*.log
*.ncb
*.nlb
*.nupkg
*.obj
*.old
*.orig
*.patch
*.pch
*.pdb
*.plg
*.[Pp]ublish.xml
*.rdl.data
*.sbr
*.scc
*.sig
*.sqlsuo
*.suo
*.svclog
*.tlb
*.tlh
*.tli
*.tmp
*.user
*.vshost.*
*.docstates
*DXCore.Solution
*_i.c
*_p.c
__MVC_BACKUP/
_[Rr]e[Ss]harper.*/
_UpgradeReport_Files/
Ankh.Load
Backup*
[Bb]in/
bower_components/
[Bb]uild/
CVS/
[Dd]ebug/
[Ee]xternal/
hgignore[.-]*
ignore[.-]*
lint.db
node_modules/
[Oo]bj/
[Pp]ackages/
PrecompiledWeb/
[Pp]ublished/
[Rr]elease/
svnignore[.-]*
[Tt]humbs.db
UpgradeLog*.*

+1, आपका डीबग / का उपयोग कर रहा है, इसलिए "Debug.something.cs" को निगलना नहीं होगा
सेबस्टियन

11

यहाँ C # Visual Studio प्रोजेक्ट्स के लिए मेरी .hgignore की सामग्री है:

syntax: glob
*.user
*.ncb
*.nlb
*.suo
*.aps
*.clw
*.pdb
*\Debug\*
*\Release\*

कुछ नोट:

  1. यदि आपके पास "डीबग" और "रिलीज़" के अलावा कस्टम "रिलीज़" हैं, तो आपको उन्हें जोड़ने की आवश्यकता हो सकती है।
  2. जब आप मैन्युअल रूप से अपना .hgignore संपादित करते हैं तो सावधान रहें। यदि आप एक वाक्यविन्यास त्रुटि करते हैं, तो hgtortoise अब प्रतिबद्ध संवाद नहीं खोलेगा।

8

मेरी मर्क्यूरियल .hignign फ़ाइल की सामग्री:

syntax: glob
#-- Files
*.bak.*
*.bak
thumbs.db

#-- Directories
App_Data/*
bin/
obj/
_ReSharper.*/
tmp/

#-- Microsoft Visual Studio specific
*.user
*.suo

#-- MonoDevelop specific
*.pidb
*.userprefs
*.usertasks

ध्यान रखें कि मैं मुख्य रूप से WinForms, ASP.NET MVC और Microsoft Visual Studio और कभी-कभी मोनो-डिवेलप का उपयोग करके मोबाइल प्रोजेक्ट्स पर काम करता हूं। आपके टूलसेट और प्रोजेक्ट प्रकारों के आधार पर, आप संभवतः अन्य फ़ाइलों का सामना करेंगे जिन्हें अनदेखा किया जाना चाहिए।

मैं http://codepaste.net/zxov7i पर CodePaste.NET पर नवीनतम संस्करण रखने की कोशिश करता हूं


4

कुछ अन्य जिनका मैं उपयोग करता हूं:

output
PrecompiledWeb
_UpgradeReport_Files

#Guidance Automation Toolkit
*.gpState
#patches
*.patch

3

यहाँ एक जोड़ी पेसकी हैं: मतलाब और एक्सेल / ऑफिस ऑटोसैव।

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

अगर मैं गलती से उन्हें जोड़ देता हूं और फिर खुली हुई वास्तविक फ़ाइल को बंद कर देता हूं, तो Excel और / या Matlab ऑटो-सेव को हटा देगा और फिर Mercurial यह सोचकर अटक जाएगा कि वे कहां गए थे। मुझे यकीन है कि ऐसे अन्य कार्यक्रम हैं जो समान चीजें करते हैं।

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