如何对所有丢失的文件进行Mercurial的“ hg删除”?


224

我用它从仓库中删除文件:

hg remove <full file path> 

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

所谓本地删除,是指那些!在您执行操作时显示的人hg status

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

Answers:


364

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

hg addremove

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

hg remove --after
hg remove -A

7
还存在与hg rm -Af
jk

37
用户名的jk来势汹汹,我觉得我每次都读过您的评论或帖子中最后您在说“只是在开玩笑” :(话说,这很有帮助,很高兴!
Lester Peabody

6
一个警告的词...当它把一大堆废话丢到屏幕上时,请不要惊慌...(像我一样)
理查德·B

1
哇!谢谢!这很有帮助!哇!+1 :) hg rm -A
Cullub '16

32

如果您打算做addremove和承诺,它可以用“-A”选项加入如图所示在这里

hg commit -A -m 'Commit with addremove'

5

最初的问题是询问如何删除(即忘记)"!"使用时显示的文件hg st。一种具有透明性优点的直接方法是hg st与以下-n选项一起使用:

hg -v forget $(hg st -nd)

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

这些标志在其他地方有充分的文档说明(例如,通过hg命令本身),但简要来说:

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

您能解释每个标志吗?
Cullub '16

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.