Meritial相当于git reset HEAD,还是hg addremove的反转?

时间:2015-01-10 14:47:25

标签: mercurial

我刚将一堆文件从一个目录移动到另一个目录。我还创建了几个新文件。我运行了python setup.py sdist,它会生成一堆文件。

我忘记将我不关心的所有这些文件添加到我的.hgignore中,所以当我运行hg addremove - bam时,我得到了所有内容。

伊克。

在git中,我会运行git reset,这将简单地取消我所有的变化,生活会很快乐。在TortoiseHg中,我只需点击几个小复选框就可以取消选中所有这些复选框,生活会感到高兴。

但是在命令行上......我只想回到事先的方式hg addremove

我该怎么做?

1 个答案:

答案 0 :(得分:3)

可以通过两个步骤撤消添加“添加”和“删除”。 首先,撤消'添加':

hg forget "set:added()"

撤消删除有点棘手,因为如果我们只是hg revert标记为已删除的文件,例如`hg revert“set:removed()”,这些文件将弹回工作目录。这可能不是你想要的,所以让它们在它们被恢复之后立即删除它们,对于Linux来说它会是这样的:

hg locate "set:removed()" | xargs -I % sh -c 'hg revert "%"; rm "%"'