用于Visual Studio 2008项目的Mercurial .hgignore
使用Visual Studio 2008时,.hgignore文件的最佳设置是什么?
我主要是自己开发,仅偶尔克隆存储库供其他人使用。
我正在考虑obj文件夹,.suo,.sln,.user文件等。它们可以仅包含在其中,还是存在我不应该包含的文件?
谢谢!
附言:目前,我执行以下操作:忽略所有.pdb文件和所有obj文件夹。
# regexp syntax. syntax: glob *.pdb syntax: regexp /obj/
解决方案
回答
这是特定于Cproject的,但是我忽略了这些文件/目录:
*.csproj.user /obj/* /bin/* *.ncb *.suo
忽略所有这些文件后,在其他计算机上的软件仓库中运行代码没有问题。找出我们需要保留的内容的最简单方法是制作该文件夹的副本,然后开始删除我们认为不必要的内容。继续尝试构建,只要可以成功构建,就继续删除。如果删除过多,请从源文件夹复制它。
最后,我们将拥有一个不错的目录,其中包含必须提交的唯一文件。
回答
这是CVisual Studio项目的.hgignore的内容:
syntax: glob *.user *.ncb *.nlb *.suo *.aps *.clw *.pdb *\Debug\* *\Release\*
一些注意事项:
- 如果除"调试"和"发布"之外还有自定义"发行版",则可能需要添加它们。
- 手动编辑.hgignore时要小心。如果出现语法错误,则hgtortoise将不再打开提交对话框。
回答
这是我与VS2008一起使用的标准.hgignore文件,该文件最初是从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
回答
我的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上
回答
我感到被排除在对话之外。这是我的.hgignore文件。它涵盖了C#,C ++和Visual Studio的一般开发,包括COM内容(类型库),一些最终的生成器文件,CodeRush,ReSharper和Visual Studio项目升级。对于现代(c.2015)Web开发,它也有一些忽略。
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*.*
回答
我使用的其他一些:
output PrecompiledWeb _UpgradeReport_Files #Guidance Automation Toolkit *.gpState #patches *.patch