0

我想回到一个工作版本,并将自该版本以来我所做的每一个变更集都拉到一个新的分支中。基本上,我已经从主分支合并了几次,并且想将它们撤消。

这可能吗?有什么工具可以帮助我做到这一点?

4

1 回答 1

2

如果您的历史记录如下所示:

[M1]--[M2]----[M3]---[M4]----[M5]----[M6]
   \            \               \
    [B1]--[B2]--[B3]----[B4]----[B5]----[B6]

其中 M# 是默认分支上的变更集,B# 是现有分支上的变更集,B3 和 B5 是合并变更集,您的目标是获得如下内容:

[M1]--[M2]----[M3]---[M4]----[M5]----[M6]
   \
    [B1]--[B2]--[B4]----[B6]

那么你可以这样做:

hg update M1
hg branch new_branch_I_want
hg graft B1 B2 B4 B6

这会将这些更改拉入您的新分支。当然,旧分支仍将以其未修改状态存在。由于嫁接跳过合并变更集,您可能可以指定整个 B1::B6 范围,但我没有尝试过。

于 2012-08-10T03:11:06.717 回答