mercurial在提交之前丢弃所有添加的文件

时间:2012-11-22 10:35:53

标签: mercurial

错误地使用addremove尝试删除一些未使用hg remove删除的文件

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

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

2 个答案:

答案 0 :(得分:7)

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

hg forget "set:added()"

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

指定文件时可以使用其他过滤器,这样可以轻松修复其他错误。例如,轻松重新添加已删除的文件,但没有其他任何内容hg add "set:removed()"。功能类似于(感谢简单)mercurial revsets,可以用以下方法进行研究:

hg help filesets

答案 1 :(得分:3)

您可以使用以下命令在命令行上轻松完成:

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

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

我可以建议您添加您想要添加到.hgignore文件的文件,以免再次发生这种情况吗?