Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Mercurial忘记所有已删除的文件_Mercurial - Fatal编程技术网

如何使用Mercurial忘记所有已删除的文件

如何使用Mercurial忘记所有已删除的文件,mercurial,Mercurial,我是Mercurial的新手,在我的项目中清理了图像文件夹之后,我有大量的文件显示在了!处于“汞状态”。我可以为每一个输入一个“hg忘记”,但必须有一个更简单的方法 那么,如何让mercurial忘记文件夹中所有已删除(状态=!)的文件呢?您可以尝试: hg forget -I '*' 为了在忘记命令中包含所有文件。如果您也可以添加任何存在且未被忽略的文件,则: hg addremove 使用文件集(Mercurial 1.9)将是一种流行的方法。: 通常,在Linux或Mac上: hg s

我是Mercurial的新手,在我的项目中清理了图像文件夹之后,我有大量的文件显示在了!处于“汞状态”。我可以为每一个输入一个“hg忘记”,但必须有一个更简单的方法

那么,如何让mercurial忘记文件夹中所有已删除(状态=!)的文件呢?

您可以尝试:

hg forget -I '*'

为了在忘记命令中包含所有文件。

如果您也可以添加任何存在且未被忽略的文件,则:

hg addremove
使用文件集(Mercurial 1.9)将是一种流行的方法。

通常,在Linux或Mac上:

hg status -dn | while read file ; do hg forget "$file" ; done
或者,如果shell允许,如果文件不太多,并且文件名不包含空格或特殊字符,则:

hg forget $(hg st -dn)

I

使用状态的
-d
标志,该标志显示缺少的文件:

用于美元格式的文件(hg status-d | cut-d”“-f2);不要忘记$file;完成

在回购的根目录中运行此命令,如果您对结果满意,请删除
echo


这比不做任何额外工作(例如添加一堆未跟踪的文件)的公认答案更有好处。

更短,而不是更短

for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done
这个


小心,这不会捕获当前目录中以点开头的文件。没有为我执行任何操作:“中止:未指定任何文件”是否需要**而不是*以查看根目录以外的内容?(
hg help patterns
)@JoshuaGoldberg六年后,我想是这样的,但我现在没有mercurial要测试。没错,添加未跟踪的文件并在一个速记命令中将丢失的文件标记为已删除+1这也适用于递归文件夹遍历,其中必须在要删除的文件目录中执行“忘记-I”。我没有为每个文件获得
这样的文件或目录,可能它们都丢失了。重复:不完全是重复,尽管解决这两个问题都需要列出未显示在
ls
中的文件。这个问题询问如何将已删除的文件标记为已删除。这是如何取消标记所有删除的hg文件。
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