如何放弃所有本地更改,包括未版本控制的文件?
我正在移动构建过程以使用mercurial,并希望将工作目录恢复到最终修订状态。 早期的构建过程将修改一些文件并添加一些我不想提交的文件,因此我有本地更改和未添加到存储库的文件。
什么是最简单的方法来丢弃所有这些,并得到一个干净的工作目录,具有最新版本?
目前我正在这样做:
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
标志通知更新命令在更新之前放弃所有本地更改。
但是,这可能仍会在存储库中留下未跟踪的文件。 这听起来像你也想摆脱这些,所以我会使用purge
延伸:
hg pull
hg update -r MY_BRANCH -C
hg purge
无论如何,没有任何一个命令可以让Mercurial执行,它将执行您想要的任何操作,除非您将该过程更改为您所说的“完全克隆”方法。
hg up -C
这将删除所有更改并更新到当前分支中的最新头部。
你可以打开清除扩展,以便能够删除所有未版本控制的文件。
要删除没有清除扩展名的* nix,请使用
hg pull
hg update -r MY_BRANCH -C
hg status -un|xargs rm
正在使用哪个
更新-r --rev修订版本
更新-C - 清除丢弃未提交的更改(无备份)
状态-u - 未知仅显示未知(未跟踪)的文件
状态-n - 无状态隐藏状态前缀
链接地址: http://www.djcxy.com/p/37573.html上一篇: How to discard all local changes including to unversioned files?