Для такого рабочего процесса,
$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 никогда не показывает эти закладки в ссылке «Теги» репозиториев.