沒有必要進行第二次頭,在你的例子來創建,你不應該強迫它的創作。
與您的工作流程的好處是,你可以在功能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