例で2番目のヘッドを作成する必要はなく、その作成を強制しないでください。
ワークフローの利点は、機能の作業を停止し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"
これが完了すると、新しい機能が完成し、メインの開発ブランチにマージされます。
main
機能の作業が終了したときにブランチに変更をtest
加えないと、変更セットを祖先にマージできないため、変更をマージできません。そのため、ブックマークを次のようにmain
ブックマークに移動する必要がありtest
ます。次のとおりです。
> hg update test
> hg bookmark main -f
(これは早送りマージと呼ばれ、git
必要に応じて強制的にマージできると思いますがmercurial
、私が知る限り、同等のものはありません)