2010-03-24 54 views
6

我已经工作了很长一段时间了.hgignore文件,该文件是个好人,最近几个问题增加了一个新的类型的文件忽略的。当运行“汞状态”,我注意到了这一点:水银:凡是涉及到.hgignore

M .hgignore 

所以水银认为.hgignore是需要被跟踪(如果它是一个项目的根目录)的文件。

现在我已经阅读了各种文档,但我的观点并没有特别强调,所以这里有一些非常详细的问题,希望能帮助我弄清楚这一点(如果有人回答可以引用和解决这三点[即使对于每个问题,简单的是/否回答]):

  • .hgignore应该在项目的根目录吗? (我想它应该,看到一个开发人员可能会在几个项目上工作,这些项​​目都会有不同的.hgignore要求)

  • 可以忽略.hgignore Mercurial?

  • 如果可以忽略,.hgignore由水银(这是比以前的问题不同)

.hgignore应该被忽略的情况下忽略,不能如果你之前突然回滚,那么会发生一些非常糟糕的事情,那时候使用了一个非常旧且不完整的.hgignore

我想我看到奇怪的事情发生在某些每个用户的IDE项目文件(我并不是说所有的IDE项目文件都只是每个用户,但一些肯定是)应该被忽略,但然后用户回滚到旧版本,旧版本使用旧版本.hgignore,然后突然提交应忽略的文件,因为旧版本.hgignore未排除这些文件。

回答

13

,因为你希望它是存储库的一部分,因此所有用户的最终有了它,你一般不会忽略.hgignore文件。

至于滚远,然后不小心犯你不应该的文件 - 嗯,这真的可能在任何时候发生呢。承诺负责任。

您的其他问题:

  • 是,.hgignore应该在库的根。
  • 是的,.hgignore可以忽略它自己。
  • 不,不应忽视.hgignore(除非您决定不要在存储库中使用它)。
+2

想不出理由来了.hgignore忽略。你改变它,也许你会把事情搞砸,需要恢复,对吧?就像任何其他代码..... – 2010-11-30 17:19:30