Mercurial:一些与.hgignore有关的问题

Syn*_*r0r 6 mercurial dvcs hgignore

我已经工作了很长时间,.hgignore文件很好,最近添加了一种新类型的文件可以忽略.运行"hg status"时,我注意到了这一点:

M .hgignore
Run Code Online (Sandbox Code Playgroud)

所以Mercurial认为这.hgignore是一个需要跟踪的文件(如果它是项目的根).

现在我已经阅读了各种文档,但我的观点没有特别说明,所以这里有一些非常详细的问题,希望可以帮助我解决这个问题(如果有人回答可以引用并解决这三点,那就太棒了!每个问题是/否答案]):

  • 应该.hgignore是项目的根源?(我想它应该,看到开发人员可能正在开发几个项目,这些项目都有不同的.hgignore要求)

  • 可以.hgignoreBE水银被忽略?

  • 如果它可以忽略,应该 .hgignore被Mercurial忽略(这与前一个问题不同)

.hgignore应该被忽略的情况下,如果你使用了一个非常古老和不完整的东西,你会突然回滚的方式不会发生一些非常糟糕的事情吗?.hgignore

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

Chr*_*fer 13

您通常不会忽略.hgignore文件,因为您希望它成为存储库的一部分,因此您的所有用户都会使用它.

至于远远地滚动,然后意外地提交文件,你不应该 - 好吧,无论如何,这真的可能发生在任何地方.负责任地承诺.

至于你的其他问题:

  • 是的,.hgignore应该位于存储库的根目录下.
  • 是的,.hgignore可以忽略自己.
  • 不,.hgignore不应该被忽略(除非你决定你不想在存储库中).

  • 想不出有理由忽视.hgignore.你改变它,也许你会搞砸了,需要恢复,对吧?就像任何其他代码一样...... (2认同)