Mercurial-如何丢弃所有本地更改,包括对不版本文件的更改?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我将一个构建过程移动到使用Mercurial,并希望将工作目录恢复到TIP修订的状态。构建过程的早期运行将修改一些文件,并添加一些我不想提交的文件,因此我有一些本地更改和没有添加到存储库中的文件。

最简单的方法是放弃所有这些,获得一个干净的工作目录,其中包含最新的修订版。

目前我正在做这个:

hg revert --all
<build command here to delete the contents of the working directory, except the .hg folder.>
hg pull
hg update -r MY_BRANCH

但似乎应该有更简单的方法。

我想要做的相当于删除回购,做一个新的克隆,并更新。但是回购太大了,不可能足够快。

提问于
用户回答回答于

这些步骤可以缩短为:

hg pull
hg update -r MY_BRANCH -C

-C标志告诉UPDATE命令在更新之前放弃所有本地更改。

但是,这可能仍会将未跟踪的文件留在存储库中。听起来你也想摆脱这些,所以我会用purge延期:

hg pull
hg update -r MY_BRANCH -C
hg purge

在任何情况下,没有一个命令可以要求Mercurial执行所有想要的操作,除非进程更改为无法执行的“完全克隆”方法。

用户回答回答于
hg up -C

这将删除所有更改并更新到当前分支中的最新标题。

扫码关注云+社区