【问题标题】:Mercurial: how do I revert to a particular revision?Mercurial:如何恢复到特定版本?
【发布时间】:2010-08-11 13:53:24
【问题描述】:

我正在使用实时服务器。我已更新提示,但它导致了问题:我需要恢复到一切正常的特定变更集 (388)。

我在服务器上没有任何值的更改,本地更改集根本不重要。事实上,我实际上想杀死任何本地意外更改或合并,以免混淆。

如何恢复到特定的变更集并终止任何本地变更?是否与以下内容有关:

hg revert 

---- 更新 ---

为了澄清,我想做的是首先将本地所有内容恢复为变更集 388,然后确保我的本地仓库处于这样的状态,当我这样做时

hg status

我没有输出。否则我有一种讨厌的感觉,当我下次拉小费时,会有冲突需要处理——我想避免这种冲突,因为本地更改没有任何价值。

---- 更新 ---

对于处于这种情况的其他人,最终为我解决的问题是:

rm -rf <repo_dir>
hg clone http://repository
hg update -r 388

这将杀死您所有的本地更改,因此请谨慎行事(但这就是我在这种情况下想要的)。

【问题讨论】:

  • 提示:查看hg help revert 获取有关还原的文档。这也适用于其他命令 (hg help [command name here])。

标签: mercurial


【解决方案1】:

只需使用以下命令即可进行修订。

hg revert -r REV

它与 --all 冲突。

要终止所有本地更改, --all 应该可以工作。

hg revert --all

不要使用rollback。这是一个不可逆转的过程,因此应谨慎使用。

编辑

您可以使用 --clean 选项进行更新。这将丢弃任何未提交的更改。 然后更新到一些变更集。

【讨论】:

  • hg revert --all -r 388 工作 - 谢谢!然而,hg status 仍然显示本地存储库和远程存储库之间的一系列差异,因为我所做的所有 faffing 和恐慌。有什么办法可以删除所有的本地变更集?
  • 您不能删除本地变更集。我会从服务器克隆 repo,然后 hg update 388 到你想要的版本。
  • @AP257:您不需要还原。您需要按照@jk 的回答更新
  • 删除本地仓库并从服务器重新克隆?取决于你想在历史和工作副本中成为什么
  • 是否有一些未跟踪的文件??
【解决方案2】:
server:
- ..
- rev 386
- rev 387
- rev 388
- rev 389

clone to production

-- testing stuff, it doesn't work!
-- panic!
-- rev 390 (in panic)
-- rev 391 (in panic)
-- cool down, thinking, need to go back to 388
-- one way: hg update -C -rev 388 (to keep 390, 391)
-- other way: rm -rf dir (to discard 390, 391)
-- hg clone http://server/hg
-- cd dir
-- hg update 388 
-- testing, now works

还有一个很棒的Purge extension。非常可靠的东西,它会从工作目录中删除所有未跟踪的文件。

【讨论】:

  • 啊 - 所以要达到我在上面更新中描述的状态,我需要删除所有本地文件,还是需要使用 Purge 扩展?有道理...
  • 按照您的建议,使用 rm -rf dir 和 hg clone / hg update 388 修复了此问题。我认为很明显我想丢弃所有东西,但显然不是来自其他 cmets..!感谢您的帮助!
【解决方案3】:

我不认为你想要什么真的很清楚,但我的解释是hg update -C -rev 388 但你同样可以在恢复之后,或者可能(不太可能)甚至回滚。我对this question gives a good difference between update and revert的回答

你真的需要弄清楚你想在工作副本中看到什么,以及你希望历史状态在它们之间选择什么

【讨论】:

  • 因为不清楚:我希望工作副本更新为 388,而历史记录完全为空。
  • 历史和状态是两个不同的东西。您可以使用 rev 388,历史记录中包含 rev 389 和 390,但没有本地更改,因此状态为空。
猜你喜欢
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 2014-03-31
相关资源
最近更新 更多