我用这个从repo中删除一个文件:

hg remove <full file path> 

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

所谓本地删除,我指的是那些以!当你做hg status时。

对于添加,您只需执行hg add来添加所有新文件(那些前缀为?)。


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

hg addremove

这两个命令都将删除所有本地丢失的文件(它们是相同的命令)

hg remove --after
hg remove -A

如果你打算做adremove和commit,它可以用'-A'选项连接,如下所示:

hg commit -A -m 'Commit with addremove'

如果你想要addremove并提交,但还没有准备好提交其余的更改,我认为你仍然需要列举它们:

$ 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

最初的问题是,当使用hg st时,如何删除(即忘记)显示为“!”的文件。一个具有透明度优势的直接方法是使用hg st和-n选项:

hg -v forget $(hg st -nd)

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

这些标志在其他地方都有很好的记录(例如hg命令本身),但简单地说:

-n表示仅限文件名 -d表示“选择已删除的文件”