Добавление нескольких головок с помощью Mercurial

Для такого рабочего процесса,

$hg clone <bitbucket repo>
... fix, fix ...
$hg commit -m "good comment!"

$hg bookmark stable 
...new fix on stable...
$hg commit -m "new fix on stable bookmark"

$hg bookmark experimental --> I would like to defer merging until its stable.
... hack hack more hack ....
$hg commit -m "more hack on experimental"
$created new head

$hg push <bitbucket repo>
"abort: push creates new remote heads!"
(did you forget to merge? use push -f to force)

я много читал, что НИКОГДА не используйте push -f для принудительного выполнения.

Но да, экспериментальную головку нужно подтолкнуть, так как я не хочу сливаться, пока она не станет достаточно стабильной. Я также не хочу слишком долго хранить изменения в этой закладке на моем компьютере (что произойдет, если система выйдет из строя?), И я бы хотел вытащить эту закладку и продолжить эксперименты позже. Однако это своего рода «централизованный» подход. Как лучше всего справиться с подобной ситуацией? Есть ли способ использовать закладки для выполнения этого рабочего процесса? Не хочу использовать именованную ветку.

Примечание: я просто использовал 'push -f', но Bitbucket никогда не показывает эти закладки в ссылке «Теги» репозиториев.

7
задан sojin 15 April 2011 в 03:40
поделиться