没有必要进行第二次头,在你的例子来创建,你不应该强迫它的创作。
与您的工作流程的好处是,你可以在功能test
停止工作要做主枝上这样一个更迫切的变化:
> hg bookmark main
> hg bookmark test # Start work on feature test
... do some code ...
> hg commit -m "Working on feature test"
> hg update main # Stop working on test, start working on main
... do an urgent fix ...
> hg commit -m "Urgent fix"
> hg update test # Back to work on feature test
... do some more code ...
> hg update main # Finished the work so back to main
> hg merge test # Merge the work into main
> hg commit -m "Merge in feature test"
如果这样做了,你就已经完成了新功能,将它合并回主开发分支。
如果您在完成功能test
的工作后未对main
分支进行任何更改,则无法合并更改,因为无法将更改集合并为祖先,因此您需要移动在main
书签到test
书签如下:
> hg update test
> hg bookmark main -f
(我认为,这就是所谓的快进合并在git
并且可以强制合并,如果你想,但没有mercurial
相当于尽可能我知道)
我明白了,但是当我创建两个书签并提交时,是将更改写入一个还是两个? – 2013-03-05 22:39:13
明白了,它只是承诺活跃的书签,这正是我想要的,有太多过时的帖子“git vs mercurial”说旧的版本的东西,很难知道什么工作,直到你自己测试它。 – 2013-03-05 22:43:44