2010-05-03 82 views

回答

40

核心Mercurial包中没有相当于git clean

但是,hg purge扩展名可以完成您所追求的功能。

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

+0

扩展wiki页面显示“此扩展程序目前正在与Mercurial一起发布。”。自从它发布以来,我已经安装了它。 '不确定_什么版本有或(将)介绍它。 – 2010-05-03 18:42:45

+0

基于问题跟踪器,它听起来像功能被删除因为“使用hg purge玩的人可以删除他们需要的文件”。这个问题最后在2009年5月更新,所以它已经过时了。我肯定会投票把它放回去。 – 2010-05-03 18:50:55

+0

1.1.2运送它,不知道以前的版本。 – 2010-05-03 18:55:59

6

我不使用git进行存储库管理。但是,如果我猜测,我认为hg purge可能是你正在寻找的。

5

如果你是一个基于Linux的系统(或Windows Cygwin的),你可以:

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

如果这个工程,你可以把这个在你的〜/ .hgrc:只需

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

然后运行:

hg clean 

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

+1

这不包括未跟踪的文件; git clean -fxd。 – FelipeC 2012-10-12 22:30:50

+1

不需要grep。 'clean =!hg status -un0 | xargs -0 rm' – 2013-07-16 21:00:09

+2

'clean =!hg status -un0 | xargs -r0 rm'小调。 – 2013-07-16 21:07:53

10

该扩展程序已包含在mercurial中,但您仍必须激活它。

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

[extensions] 
purge = 

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