使用Visual Studio 2008时,.hgignore文件的良好设置是什么?
我主要是靠自己开发的,偶尔我会克隆存储库以供其他人使用.
我在想OBJ文件夹,名为.suo,的.sln,.用户文件等.可他们只是被列入还是有文件我不应该包括什么呢?
谢谢!
ps:目前我执行以下操作:忽略所有.pdb文件和所有obj文件夹.
# regexp syntax. syntax: glob *.pdb syntax: regexp /obj/
Even Mien.. 208
这是我用于VS2008的标准.hgignore文件,该文件最初是从Git ignore文件修改的:
# 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
如果这个答案的答案数量超过了接受答案数量的两倍,那么这个答案不应该首先出现吗?无论如何,很好的答案,这正是我使用的. (15认同)
不,但它们具有相同的忽略文件概念. (4认同)
我正在寻找Rob Connery在他的[Mercurial for Codeplex](http://tekpub.com/codeplex)Tekpub视频中使用的忽略代码,它与此完全匹配.很好! (4认同)
行[Db] ebug*/ - 我假设它应该是小写d而不是小写b,使用此忽略列表作为模板并花了一分钟来弄清楚为什么heck"debug"文件夹不是'被忽略:)感谢伟大的忽略文件. (2认同)
对我来说这意味着一个名为Debug.Something.dll.config的文件被忽略了,所以我认为尾随/上[Dd] ebug*/没有达到预期的效果.我认为问题在于glob风格的语法在目录上没有正确匹配.如果取出Debug和Release行,并用文件底部的三个新行替换它们:`syntax:regexp`和`[Rr] elease.*/`和`[Dd] ebug.*/`那么它似乎工作正常. (2认同)
Daniel Jenni.. 37
这是C#项目特有的,但我忽略了这些文件/目录:
*.csproj.user
/obj/*
/bin/*
*.ncb
*.suo
在忽略所有这些文件后,我在其他机器上的库中运行代码没有问题.找出您需要保留的最简单方法是制作文件夹的副本并开始删除您认为不必要的内容.继续尝试构建,只要你可以成功构建继续删除.如果删除太多,请从源文件夹中复制它.
最后,你将拥有一个很好的目录,其中包含必须提交的唯一文件.
这是我用于VS2008的标准.hgignore文件,该文件最初是从Git ignore文件修改的:
# 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
这是C#项目特有的,但我忽略了这些文件/目录:
*.csproj.user
/obj/*
/bin/*
*.ncb
*.suo
在忽略所有这些文件后,我在其他机器上的库中运行代码没有问题.找出您需要保留的最简单方法是制作文件夹的副本并开始删除您认为不必要的内容.继续尝试构建,只要你可以成功构建继续删除.如果删除太多,请从源文件夹中复制它.
最后,你将拥有一个很好的目录,其中包含必须提交的唯一文件.
我感到被遗忘了.这是我的.hgignore文件.它涵盖了C#,C++和Visual Studio开发,包括COM内容(类型库),一些最终构建器文件,CodeRush,ReSharper和Visual Studio项目升级.对现代(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*.*
以下是我的.hgignore for C#Visual Studio项目的内容:
syntax: glob *.user *.ncb *.nlb *.suo *.aps *.clw *.pdb *\Debug\* *\Release\*
几点说明:
如果除"Debug"和"Release"之外还有自定义"release",则可能需要添加它们.
手动编辑.hgignore时要小心.如果您出现语法错误,那么hgtortoise将不再打开提交对话框.
我的Mercurial .hgignore文件内容:
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
请记住,我主要使用Microsoft Visual Studio,偶尔使用MonoDevelop来处理WinForms,ASP.NET MVC和Mobile项目.根据您的工具集和项目类型,您可能会遇到应忽略的其他文件.
我尝试在http://codepaste.net/zxov7i上保留CodePaste.NET的最新版本