Mercurial回滚和重建
我们有两个mercurial命名分支,开发和测试。开发中有很多变化,这些变化本应合并到测试中。在某一点上,更改被合并,然后回滚。那么合并的尝试方向可能是错误的。结果是,我们现在有两个分支具有最近的公共父级。我们在开发过程中仍然有一些变化,这些变化还没有经过测试。但是由于我们所犯的错误和共同的父级,将开发合并到测试并没有任何作用,也就是说,它不应用任何更改 如果我愿意将测试退回几周,我是否可以像这样切换到测试分支:Mercurial回滚和重建,mercurial,Mercurial,我们有两个mercurial命名分支,开发和测试。开发中有很多变化,这些变化本应合并到测试中。在某一点上,更改被合并,然后回滚。那么合并的尝试方向可能是错误的。结果是,我们现在有两个分支具有最近的公共父级。我们在开发过程中仍然有一些变化,这些变化还没有经过测试。但是由于我们所犯的错误和共同的父级,将开发合并到测试并没有任何作用,也就是说,它不应用任何更改 如果我愿意将测试退回几周,我是否可以像这样切换到测试分支: hg update <last good test revision>
hg update <last good test revision>
hg更新
然后从dev“移植到本地”我们想要转移到测试的十几个更改,然后在开发中合并以重置测试的公共父级
这是一个疯狂的计划,还是有更简单的方法?如果只是十几个更改,您确实可以
更新到良好的测试版本
重新开始,并移植到本地
重新创建完美分支所需的提交
只有当您对新的banch头部感到满意时,使用合并两个头部并忽略坏的test
头部。你需要在你的分支上有一个单一的头
现在您将处于一种状态,test
将保存开发
分支的所有更改。我建议您再次使用相同的技巧将开发
合并到中,以生成所需的测试
的公共父级,但不存在开发
中可能发生的所有污染。如果它不起作用,只需在development
上创建一个虚拟变更集,然后再次重试该技巧(如果有意义的话)
然而,最终,您似乎并不太担心开发
分支被测试
分支污染。往那个方向走行吗
这是一个疯狂的计划还是有更简单的方法
是的,是的。短脑力(而不是驴力)平原
普通A
- 将脏的存储库克隆到新的存储库中,而不使用愚蠢、愚蠢、愚蠢的更改集(
)hg Clone-r LAST\u GOOD\u CSET
- 将脏回购换成抛光回购
- 将脏存储库克隆到新存储库(可选)
- 为有问题的存储库启用strip | | histedit扩展(您要清理该存储库)
- 仔细阅读与扩展相关的文档,以便在大脑中使用命令和工作流,而不是盲目地使用
- 从存储库中删除错误的变更集
- 用抛光剂更换(如果第1页已完成)脏回购