我有一个中央仓库的副本,版本为2048。我想删除本地仓库中的最后10个变更集,就像我回到了两周前的时间一样。我想我可以删除本地存储库并执行"hg clone -rev 2038",但这会很长(克隆存储库需要几分钟)。有没有办法只是“拉”一些变更集?

笔记:

  • 我不是在尝试撤消变更集。我最终将再次从中央存储库中提取那些变更集。
  • 我不尝试将工作目录更新为早期版本;我真的很想影响存储库。
  • 我的当前存储库和工作目录中没有任何传出的变更集或挂起的修改。
  • 最佳答案

    使用strip命令:

    hg strip -r 2039
    

    该命令由StripExtension提供。它作为Mercurial 2.8和更高版本的一部分分发,但是您确实需要首先通过在.hgrc或Mercurial.ini中添加以下行来启用它:
    [extensions]
    strip =
    

    在Mercurial 2.8之前,它是MqExtension的一部分。

    为了防止意外破坏历史记录,该命令将在.hg/strip-backup/中生成一个备份包,您可以根据需要再次使用hg unbundle

    关于mercurial - 如何从特定的Mercurial克隆中删除某些变更集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4520697/

    10-12 01:27
    查看更多