用于 VisualStudio2008项目的 Mercurial.hg忽略

在使用 VisualStudio2008时,什么是对.hgignore 文件的良好设置?

我大多数时候都是自己开发的,只是偶尔克隆一下存储库,让别人来处理。

我在想 obj 文件夹。所以..。SIN,.用户档案等。它们可以只是包含在内吗? 还是有些文件我不应该包含在内?

谢谢!

现在我要做的是: 忽略所有.pdb 文件和所有 obj 文件夹。

# regexp syntax.
syntax: glob
*.pdb


syntax: regexp
/obj/
25125 次浏览

这是特定于 C # 项目的,但是我忽略了这些文件/目录:

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

在忽略所有这些文件之后,在其他机器上运行仓库中的代码没有任何问题。找出你需要保留什么的最简单的方法是复制一份文件夹,然后开始删除你认为不必要的东西。继续尝试构建,只要能够成功构建,就继续删除。如果删除过多,请从源文件夹复制它。

最后,您将拥有一个完整的目录,其中包含必须提交的唯一文件。

下面是我为 C # Visual Studio 项目准备的. hgignore 的内容:

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

一些注意事项:

  1. 如果您有自定义的“发布” 除了“调试”和“发布”,你 可能需要加上它们。
  2. 手动编辑 如果你制定一个语法 错误,那么乌龟将不会 更长时间打开提交对话框。

下面是我用于 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

请记住,我主要在 WinForms、 ASP.NET MVC 和 Mobile 项目中使用 Microsoft Visual Studio,偶尔也会使用 MonoDevelopment。根据您的工具集和项目类型,您可能会遇到应该忽略的其他文件。

我尝试将 CodePaste.NET 上的最新版本保留在 http://codepaste.net/zxov7i

我觉得自己被排除在谈话之外了。这是我的。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*.*

我用的其他一些方法:

output
PrecompiledWeb
_UpgradeReport_Files


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

这里有一些讨厌的东西: Matlab 和 Excel/Office 自动保存。

# use glob syntax
syntax: glob


# Matlab ignore files
*.asv


# Microsoft Office
~$*

如果我不小心添加了它们,然后关闭打开的真正文件,Excel 和/或 Matlab 将删除自动保存,然后 Mercurial 将停留在不知道他们去了哪里。我相信还有其他的程序可以做类似的事情。