2015-01-10 107 views
2

this question但这并不是我想要的。git reset HEAD的Mercurial等价物,还是hg addremove的逆?

我刚刚将一堆文件从一个目录移动到另一个目录。我也创建几个新的文件。我跑python setup.py sdist,这会产生一堆文件。

我忘了添加所有这些文件我不关心我的.hgignore所以当我跑hg addremove - 巴姆,我得到了一切。

Ick。

在git中,我会运行git reset这将简单地取消所有我的更改,生活会很开心。在TortoiseHg中,我可以点击这个小复选框几次来取消所有这些选项,并且生活也会会很高兴。

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

我如何做到这一点?

回答

3

可以在两个步骤中撤消添加'添加'和'删除'。 首先,要撤消“补充”:

hg forget "set:added()" 

撤消清除是比较麻烦一些,因为如果是除去我们只是hg revert标文件,比如`汞恢复“设置:删除()”,这些文件将回到工作目录中。这可能不是你想要的,所以让我们在它们恢复后立即将它们删除,对于Linux,它会是这样的:

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