【问题标题】:Mercurial equivalent of git reset HEAD, or the inverse of hg addremove?git reset HEAD 的 Mercurial 等价物,还是 hg addremove 的倒数?
【发布时间】:2015-01-10 14:47:24
【问题描述】:

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

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

伊克。

在 git 中,我会运行 git reset,这将简单地取消我所有的更改,并且生活会很快乐。在 TortoiseHg 中,我只需单击小复选框几次即可取消选中所有选项,然后生活会很快乐。

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

我该怎么做?

【问题讨论】:

标签: mercurial


【解决方案1】:

可以分两步撤消添加“添加”和“删除”。 首先,撤消“添加”:

hg forget "set:added()"

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

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

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 2012-10-18
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    • 2011-11-29
    • 2011-02-09
    • 2017-09-23
    • 2020-07-13
    相关资源
    最近更新 更多