【问题标题】:hg remove all files listed in .hgignorehg 删除 .hgignore 中列出的所有文件
【发布时间】:2013-11-18 03:48:30
【问题描述】:

我有一个带有.hgignore 文件的善变回购。我想从这个 repo 中的磁盘 (hg remove) 中删除与.hgignore 中列出的模式匹配的所有文件。

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

.hgignore 内容:

syntax: glob

build
\.egg*
*.pyc

.DS_Store
*.sublime-*

【问题讨论】:

    标签: mercurial ubuntu-13.10


    【解决方案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

      【讨论】:

        猜你喜欢
        • 2013-02-19
        • 1970-01-01
        • 2011-01-25
        • 2020-02-18
        • 2011-09-22
        • 2010-12-03
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多