我是Mercurial的新手,在清理完项目中的图像文件夹之后,我有大量文件显示!在'hg状态'中。我可以为每个输入'hg forget',但必须有一个更简单的方法。如何使用Mercurial忘记所有移除的文件
那么,我该如何告诉mercurial忘记文件夹中所有已删除(status =!)文件?
我是Mercurial的新手,在清理完项目中的图像文件夹之后,我有大量文件显示!在'hg状态'中。我可以为每个输入'hg forget',但必须有一个更简单的方法。如何使用Mercurial忘记所有移除的文件
那么,我该如何告诉mercurial忘记文件夹中所有已删除(status =!)文件?
你可以试试:
hg forget -I '*'
,以便在您忘记命令的所有文件。
要小心,它不会捕获当前目录中以点开头的文件。 – 2010-03-24 18:47:45
没有为我做任何事情:“中止:没有指定文件” – stian 2011-04-14 07:43:35
为了超越根目录,您需要\ * \ *而不是*吗? ('hg help patterns') – 2016-07-20 16:48:47
随着文件集(水银1.9):
hg forget "set:deleted()"
在一般情况下,在Linux或Mac:
hg status -dn | while read file ; do hg forget "$file" ; done
或者,如果你的shell允许的话,如果没有太多的文件,并如果文件名不包含空格或特殊字符,则:
hg forget $(hg st -dn)
我
通过使用状态-d
标志,显示丢失的文件:在您的回购根
for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done
运行这一点,如果你对结果满意,去掉echo
这比已接受的答案而不是做了额外的工作,例如添加一堆未跟踪的文件。
我得到了'没有这样的文件或目录'为每个文件,可能他们缺少。 – Grzenio 2012-11-13 09:41:46
更短,而不是
for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done
这
hg status -d | cut -d " " -f 2 | xargs echo hg forget # test case
hg status -d | cut -d " " -f 2 | xargs hg forget # real work
重复:http://stackoverflow.com/questions/2412239/how-to-do-mercurials-hg-remove-for- all-missing-files – Cullub 2016-01-18 20:24:30
不完全是重复的,尽管解决任何一个都需要列出不在'ls'中显示的文件。该问题询问如何将删除的文件标记为已移除hg。这一个是如何* un *标记所有被移除的hg文件。 – 2016-07-20 16:51:32