7

このようなワークフローの場合、

$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がリポジトリの「タグ」リンクにこのブックマークを表示することはありません。

4

1 に答える 1

11

あなたがしていることは大丈夫です。「使用しないでくださいpush -f」は、引っ張った人、複数の頭を持っている人、およびその意味がわからない人へのアドバイスです。

ブックマークは bitbucket に表示されません。もちろん、変更セットはヘッドとして表示されますが、ブームマークはリポジトリに保存されません。2 つのバージョン 1.6 以降の Mercurial のプッシュ/プル チェンジセットでは、帯域外でブックマークが転送されますが、bitbucket はまだそれをサポートしていません (私の知る限り)。

于 2011-04-15T04:48:02.090 に答える