我想恢复我对mercurial所做的合并,我在Google上找到的网站上看不清楚。
我最近的Mercurial变更集是0d9973c7ade3 - Merge 'feature/20' with 'default'.
,我已经推了,我想回去。
我想要返回的变更集是8dc9b342ea75
,这是我想要恢复的默认变更集。
我怎么做?
答案 0 :(得分:2)
由于您推动了合并,正确的解决方案在很大程度上取决于有多少人使用您的“主”存储库以及您对它们的控制权。
如果您单独使用此存储库,则可以使用MQ扩展来删除更改历史记录并使用它完成。您需要对存储库的完全访问权限。
如果其他人正在使用存储库,则会更复杂。如果你想要一个“干净”的历史,你需要每个人的合作来做到这一点。如果无法做到这一点,您可以还原更改,但历史记录会有一些更改。
您必须激活“master”存储库中的MQ extension。然后,您可以使用strip命令删除所有不需要的提交:
hg strip unwantedrevision
然后,您必须再次克隆存储库以删除每个已删除的更改集。或者您也可以删除包含它们的每个存储库上的更改集。
如果一个存储库在操作后仍有其历史记录中的更改,则下次将再次按下该存储库。这就是为什么你需要每个有副本的人的合作。
如果无法控制所有克隆,可以使用backout命令。我无法帮助你,我永远不必使用它。但是链接的文档对我来说似乎很清楚。
祝你好运:)