【问题标题】:Does Mercurial have an equivalent to git clean?Mercurial 是否与 git clean 等效?
【发布时间】:2010-05-03 18:31:32
【问题描述】:

hg clean 似乎不存在,这让我很困扰。这是 Mercurial 没有的功能,还是他们只是以不同的方式命名?

【问题讨论】:

    标签: git mercurial


    【解决方案1】:

    核心 Mercurial 包中没有与 git clean 等效的内容。

    但是,hg purge 扩展可以满足您的需求。

    有一个open issue 使这个扩展成为核心包的一部分。

    【讨论】:

    • 扩展 wiki 页面显示“此扩展当前与 Mercurial 一起分发。”。自从它发布以来我已经安装了它。我不确定 什么 版本有或(将)介绍它。
    • 基于问题跟踪器,听起来该功能在 v1.1.2 中已被删除,因为“玩 hg purge 的人可以删除他们需要的文件”。该问题最后一次更新是在 2009 年 5 月,所以它已经过时了。我肯定会投票把它放回去。
    • 1.1.2 发布,不确定以前的版本。
    • 为什么不像git clean那样限制在当前目录及以下目录?第一次运行hg purge时,我得到了一个令人讨厌的惊喜。
    • 即使包含此扩展程序,您仍然需要在使用前激活它。就像在你的主目录中创建一个 .hgrc 文件一样简单(例如 Win 7: c:\Users(yourusername)\.hgrc )并添加以下内容: [extensions] purge =
    【解决方案2】:

    扩展程序已包含在 mercurial 中,但您仍需要激活它。

    就像在你的主目录中创建一个 .hgrc 文件一样简单(例如 Win 7:C:\Users\«yourusername»\.hgrc)并将以下内容添加到该文件中:

    [extensions] 
    purge =
    

    (对于大多数其他桌面操作系统(Unix、Gnu/Linux、Mac osx、BSD 等),主目录为 ~/.hgrc

    【讨论】:

      【解决方案3】:

      我不使用 git 来管理我的存储库。但是,如果我猜的话,我认为 hg purge 可能就是您正在寻找的。​​p>

      【讨论】:

        【解决方案4】:

        如果您使用的是基于 linux 的系统(或 Windows cygwin),您可以:

        hg status | grep "^?" | xargs rm -rf
        

        如果可行,您可以将其放入 ~/.hgrc:

        [alias]
        clean = !hg status | grep "^?" | xargs rm -rf
        

        然后简单地运行:

        hg clean
        

        我使用 cygwin 在 windows 上测试了这个(应该在 linux 上工作)。

        【讨论】:

        • 这不包括未跟踪的文件; git clean -fxd.
        • 不需要 grep。 clean = !hg status -un0 | xargs -0 rm
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-18
        • 2011-01-17
        相关资源
        最近更新 更多