汞等价物 git reset HEAD,或 hg addreremove 的倒数



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

我忘了将所有这些我不关心的文件添加到我的.hgignore所以当我运行hg addremove时 - 砰,我得到了一切。

哎呀。

在 git 中,我会运行git reset它只会取消我所有的更改,生活会很幸福。在TortoiseHg中,我只需单击几次小复选框即可取消选中所有这些复选框,生活也会很幸福。

但是在命令行上...我只想回到我做hg addremove之前的方式。

我该怎么做?

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

hg forget "set:added()"

撤消删除有点棘手,因为如果我们只hg revert标记为已删除的文件,例如'hg revert "set:removed()",这些文件将弹出回工作目录中。这可能不是您想要的,所以让我们在还原它们后立即删除它们,对于 Linux,它将是这样的:

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

最新更新