hg 删除 .hgignore 中列出的所有文件
Posted
技术标签:
【中文标题】hg 删除 .hgignore 中列出的所有文件【英文标题】:hg remove all files listed in .hgignore 【发布时间】:2013-11-18 03:48:30 【问题描述】:我有一个带有.hgignore
文件的善变回购。我想从这个 repo 中的磁盘 (hg remove
) 中删除与.hgignore
中列出的模式匹配的所有文件。
我可以使用hg status -i
列出所有被忽略的文件,但我不知道如何删除它们。
.hgignore 内容:
syntax: glob
build
\.egg*
*.pyc
.DS_Store
*.sublime-*
【问题讨论】:
【参考方案1】:您只能对被跟踪的文件运行hg remove
。要删除与.hgignore
模式匹配的跟踪文件,请运行此命令
$ hg forget "set:hgignore() and not ignored()"
这使用fileset 来选择正确的文件。
如果您要删除已被 Mercurial 忽略(未跟踪)的文件,请参阅 purge extension。这可用于清理工作副本,使其看起来像新的结帐。
【讨论】:
【参考方案2】:来自hgrc help
一个更好的例子可能是:
purge = !$HG status --no-status --unknown -0 | xargs -0 rm
哪个 将使 hg purge 删除存储库中的所有未知文件 与清除扩展相同。
为了删除被忽略的文件而不是未知文件(“hg help status”),请使用--ignored
| -i
选项而不是 --unknown
【讨论】:
以上是关于hg 删除 .hgignore 中列出的所有文件的主要内容,如果未能解决你的问题,请参考以下文章
用于跳过文件以忽略 Mercurial 文件的 Google App Engine App.yaml 配置
想在 TortoiseHG/Mercurial 中为我的 .hgignore 文件创建一些默认值