我知道回滚可以从本地存储库中的最新变更集中删除提交。但是,是否可以删除自上次推送以来的所有最新提交,而无需重新克隆共享存储库?
答案 0 :(得分:22)
您可以使用hg strip
命令,mq
扩展程序的一部分:
hg strip REV
这将删除该修订+及其所有后代。
在您尝试此操作之前,请复制/克隆存储库以进行试验。
答案 1 :(得分:13)
您可以使用hg clone
创建一个新的回购:
hg clone -r last_good_changeset localrepo newlocalrepo
答案 2 :(得分:1)
如果您正在使用mercurial eclipse,您可以回滚一次,然后搁置这些更改,然后将多个顺序提交导出为修补程序,剥离这些提交,然后以相同的顺序导入这些修补程序,以防万一你有相互冲突的补丁,他们以理想的方式互相覆盖。
最后,你可以取消第一次回滚。这样做的效果就像你不止一次回滚一样。