hg删除.hgignore中列出的所有文件

时间:2013-11-06 18:35:29

标签: mercurial ubuntu-13.10

我有.hgignore文件的mercurial repo。我想删除此repo中与hg remove中列出的模式匹配的磁盘(.hgignore)中的所有文件。

我可以使用hg status -i列出所有被忽略的文件,但我不知道如何删除它们。

.hgignore内容:

syntax: glob

build
\.egg*
*.pyc

.DS_Store
*.sublime-*

2 个答案:

答案 0 :(得分:34)

您只能对跟踪的文件运行hg remove。要删除与.hgignore模式匹配的跟踪文件,请运行此命令

$ hg forget "set:hgignore() and not ignored()"

这使用fileset来选择正确的文件。

如果要删除已由Mercurial(未跟踪)忽略的文件,请参阅purge extension。这可用于清理工作副本,使其看起来像一个新的结账。

答案 1 :(得分:2)

来自hgrc help

  

更好的例子可能是:

     

purge = !$HG status --no-status --unknown -0 | xargs -0 rm

     

其中   将使hg purge删除存储库中的所有未知文件   与清除扩展名相同。

为了删除被忽略的文件而不是未知文件(“hg help status”),请使用--ignored | -i选项代替--unknown