存储.hgignore认为是好的做法?

时间:2011-09-04 02:08:01

标签: mercurial

我不经常修改这个文件,但是当我这样做时感觉这不是好习惯。那么存储.hgignore被认为是好的做法吗?

3 个答案:

答案 0 :(得分:9)

是的,您应该将.hgignore文件保存在您的仓库中。

https://www.mercurial-scm.org/wiki/QuickStart

  

您也想跟踪.hgignore文件!

http://hgbook.red-bean.com/read/file-names-and-pattern-matching.html

  

要让Mercurial永久忽略此类文件,请在存储库的根目录中创建名为.hgignore的文件。您应该hg添加此文件,以便使用其余的存储库内容跟踪它,因为您的协作者可能会发现它也很有用。

答案 1 :(得分:2)

我想这有点主观,但对我而言,我认为这是一种很好的做法。

原因是,您要忽略的文件类型是每个用户更改的文件,但最终不会影响构建。

在我的工作场所,我们忽略了.user文件,我们忽略.resharper文件(.suo和其他一些文件)。

这很重要,就像您在我们的解决方案中添加新项目一样,我们需要确保构建解决方案,但我们的用户首选项不会破坏其他任何人。

当然,我们很少更改或添加新项目,但它有助于确保每个人都具有相同的构建。

所以是的,我认为保留它很好,但是如果你发现你正在改变它,你可能想要检查你这样做的原因。

答案 2 :(得分:0)

有了很多IDE,编辑器,操作系统.hgignore可能会变得非常大。因此,我理解您不愿将所有这些内容都包含在您的存储库中。我倾向于说我不关心其他的IDE / OS,这会使忽略文件不可读。

我选择在两个地方维护我被忽略的文件,一个用于编辑器/ IDE / OS垃圾,另一个用于生成文件的项目特定一个,我存储在repo中。额外的好处是,当您使用自己喜欢的IDE启动新项目时,您不需要忽略任何内容,它已经完成。

对于全球版,我在.hgrc中添加了以下内容:

[ui]
ignore = ~/.hgignore.global

.hgignore.global包含:

syntax: glob
# Vim
.*.sw[a-z]
# Eclipse
.project
.settings/
# Unix
*~
# Windows
Thumbs.db
Desktop.ini
# MacOS X
.DS_Store
._*

现在,您可以使用最少的项目.hgignore

  • Multiproject Maven示例:

    syntax: glob
    target
    
  • C项目示例:

    syntax: glob
    *.o
    *.so
    bin/mybin
    
  • 其他:您可以在github's gitignore project的精彩列表中获取灵感,只需在第一行添加syntax: glob