本地Mercurial忽略文件

Lie*_*oen 11 mercurial

是否可以拥有本地Mercurial忽略文件?显然.hgignore是一个版本化为任何其他文件的文件.我可以在版本化文件旁边有这样的文件吗?

Dav*_*que 23

是的,您可以配置本地的每用户忽略文件.此文件的位置和名称在用户特定的.hgrc配置文件(通常位于用户的主目录中)中定义[ui],例如:

[ui]
ignore = ~/.myhgignore
Run Code Online (Sandbox Code Playgroud)

此文件的格式应与存储库范围的.hgignore文件格式相同.

参考:http://www.selenic.com/mercurial/hgrc.5.html#ui


Chr*_*ler 12

这里有几种情况,因此根据具体情况,您将有不同的解决方案:

  1. 如果尚未添加文件或目录,并且没有.hgignore文件,您可以:
    • 使用.hgignore过滤它,

      -你可以提交.hgignore,如果这也是对他人(如*的.o等)有用,或者你可以离开.hgignore本地,而不commiting /推它,在这种情况下,你甚至可以指定.hgignore.hgignore通过MSW提到使您的本地版本也将被忽略.

  2. 如果尚未添加文件或目录,并且存在.hgignore由于某种原因您不想使用(提交和推送)的文件,则可以:

    - 声明一个未跟踪的忽略文件,你将使用.hgignore它,除了它将保持在本地.您可以在repo .hg/hgrc或全局中声明此未跟踪的忽略文件$HOME/.hgrc(请参阅UI部分文档).

  3. 最后,如果文件/目录已添加到跟踪文件列表中,则无法使用.hgignore以下内容对其进行过滤:任何已提交的文件都不能被忽略!你可以:
    • " hg forget"文件(与" hg add" 相反),然后作为两个第一种情况,或使用" -X"选项作为.hg/hgrc配置文件中status/diff/commit的
      默认值,例如,[defaults]
      status = -X file1 -X file2
      diff = -X file -X file2
      commit = -X file -X file3
      ,它将告诉hg在使用status,diff和commit时不要包含这些文件.

希望它会有所帮助.

  • 但是,请勿在跨回购协议共享的文件上使用“忘记”。从您的工作库中进行推或拉操作将删除另一端的文件。 (3认同)