【发布时间】:2011-06-22 22:39:47
【问题描述】:
我知道回滚可以从本地存储库中的最新变更集中删除提交。但是,是否可以删除自上次推送以来的所有最新提交,而无需重新克隆共享存储库?
【问题讨论】:
标签: mercurial repository commit rollback
我知道回滚可以从本地存储库中的最新变更集中删除提交。但是,是否可以删除自上次推送以来的所有最新提交,而无需重新克隆共享存储库?
【问题讨论】:
标签: mercurial repository commit rollback
您可以使用hg strip 命令,它是mq 扩展的一部分:
hg strip REV
这将删除该修订及其所有后代。
在您尝试之前,请复制/克隆存储库以进行试验。
【讨论】:
Strip 扩展的说明。
您可以使用hg clone 创建一个新的回购:
hg clone -r last_good_changeset localrepo newlocalrepo
【讨论】:
conq: invalid repository syntax. strip 为我工作。
如果您使用的是 mercurial eclipse,您可以回滚一次,然后搁置这些更改,然后将多个连续提交作为补丁导出,剥离这些提交,然后以相同的顺序导入这些补丁,以防补丁冲突,它们以所需的方式相互覆盖。
最后,您可以取消搁置您的第一次回滚。这实现了与您多次回滚相同的效果。
【讨论】: