让我们考虑以下两个 Mercurial 场景:
场景 A:我有从 rev 1 到 rev 5 的线性历史,我创建分支 foobar 并将修订版 5-11 提交给它。然后我切换到master并将rev 12提交给master。我有两个分支(master 和 foobar),每个分支一个头。好的。
场景 B:我有一个从版本 1 到版本 10 的线性历史(只有一个分支 - 主)。我想将修订版 6-10 放到一个新分支中,并从 5 开始继续我的 master,有效地将自己置于场景 A 中。我看到 mercurial 不支持分支的追溯命名,所以我无法过渡到场景A,但我正在考虑像这样的黑客攻击:
- 我创建了一个新分支(并将其命名为 foobar),并将 rev 11 提交给它
- 我切换到master并执行hg update -5,然后将rev 12提交给master
我现在有两个分支,每个分支都有一个头吗?如果我理解正确,场景 A 和场景 B 之间的唯一区别是,在场景 B 中,第 5-10 版没有标有“分支 foobar”,这在实践中并没有多大意义,以及场景 A 和场景的所有未来行为B 相等。我对吗?