3

只是犯了使用的错误,addremove试图删除一些没有使用就被删除的文件hg remove

现在有数百个文件将在下一次提交时添加

无论如何,我可以快速删除所有这些添加的文件,而无需求助于 bash 脚本甚至更糟hg removingforgetting手动每个文件?

4

2 回答 2

7

如果只想使用内部hg命令,可以执行以下操作:

hg forget "set:added()"

这将忘记工作目录中标记为“已添加”的任何文件。它利用了 Mercurial 相当强大的文件集功能。

指定文件时可以使用其他过滤器,这使您可以轻松修复其他错误。例如,轻松重新添加已删除的文件,但仅此而已hg add "set:removed()"。该功能类似于(幸好比)mercurial revsets,并且可以通过以下方式进行研究:

hg help filesets
于 2012-11-22T17:35:42.277 回答
3

您可以使用以下内容在命令行上轻松完成此操作:

hg status --added --no-status | xargs hg forget

这应该会忘记自上次提交以来添加的所有文件。

我可以建议将您不想添加的文件添加到.hgignore文件中,这样就不会再发生这种情况了吗?

于 2012-11-22T11:29:16.943 回答