我正在尝试在我的存储库中执行 hg 清除
,但我需要从该清除中排除一些目录(例如 node_modules
和其他内容)。
基本上,我想保留(而不是删除)这些目录,以避免每次都重新下载它们。
这是关于我的构建过程,它在开始新的构建过程之前运行 hg purge
并因此删除所有被忽略的东西(在 .hgignore
中列出)。我不希望这种情况发生在 node_modules
和其他一些目录上。
有没有办法告诉 Mercurial 不要对某些目录进行清除?
最佳答案
使用-X
/--exclude
命令行开关(可以指定多次):
hg purge -X 'glob:node_modules/**.js'
上述模式忽略了 node_modules
目录中的所有 Javascript 文件,包括子目录中的文件。使用 /**
匹配目录下的所有内容:
hg purge -X 'glob:node_modules/**'
参见 File names and pattern matching chapter在 Mercurial 指南中;那里描述的模式都可以在这里使用。
当测试你的模式时,确保你使用 --print
命令行选项到 hg purge
,然后它只会打印 将删除哪些文件。这有助于迭代您的模式,您不必在两次尝试之间不断重新设置文件。
关于powershell - 使用 hg purge 时排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061186/