如何为所有丢失的文件执行Mercurial的'hg remove'?

时间:2010-03-09 20:17:46

标签: mercurial

我用它来从repo中删除文件:

hg remove <full file path> 

您可以使用什么命令对所有已在本地删除的文件执行hg remove

在本地删除,我的意思是当您执行!时显示hg status的人。

对于添加,您可以hg add添加所有新文件(以?为前缀的文件)。

4 个答案:

答案 0 :(得分:356)

这将添加所有未被忽略的新文件,并删除所有本地丢失的文件

hg addremove

其中任何一个都将删除所有本地丢失的文件(它们是相同的命令)

hg remove --after
hg remove -A

答案 1 :(得分:32)

如果您打算执行addremove和commit,可以使用'-A'选项加入,如图所示here

hg commit -A -m 'Commit with addremove'

答案 2 :(得分:5)

原始问题询问如何删除(即忘记)使用"!"时显示为hg st的文件。具有透明度优势的直接方法是将hg st-n选项一起使用:

hg -v forget $(hg st -nd)

(当然,文件只会在下一次提交时被遗忘。)

这些标志在其他地方有很好的记录(例如,通过hg命令本身),但简而言之:

  • -n表示&#34;仅文件名&#34;
  • -d表示&#34;选择已删除的文件&#34;

答案 3 :(得分:1)

如果你想添加删除和提交,但还没有准备好提交其余的更改,我认为你仍然需要枚举它们:

$ hg st
M modified-file
A added-file
R removed-file-1
R removed-file-2

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-*
abort: removed-file-*: No such file or directory

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-1 removed-file-2
committed changeset 185:628800a7af84