2011-04-15 82 views
6

对于这样的工作流程,推多头与水银

$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) 

我已经读了很多说“永远不要推-f给力”。

但是,是的,实验头需要推动,因为我不想合并,直到其足够稳定。我不想在我的机器上的书签上保留更长时间(如果系统崩溃,会发生什么情况?),并且我想拉取此书签并在稍后继续进行实验。尽管它是一种“集中”的方法。 什么是处理这种情况的最佳方式? 有什么方法可以使用书签来处理这个工作流?不想使用命名分支。

注意:我只是使用'push -f',但Bitbucket从不在存储库的'标签'链接上显示此书签。

+1

创建远程头和推书签是不一样的 - 请记住'hg push -B bkname'将您的书签发送出去,同样,它们必须手动拉入。当前bitbucket(DEC2011)支持书签为“分支“,虽然更新似乎缓慢:( – 2011-12-08 06:41:28

回答

11

你在做什么就好。 “不要使用push -f”是那些已经拉扯过,拥有多个头,并且不知道这意味着什么的人的建议。

书签不会显示在bitbucket上。当然,这些变更集会显示为头像,但是不存储在回购中。当两个1.6或更高版本的Mercurial的推/拉变更集他们传输书签带外,但bitbucket尚未支持(就我所知)。

+2

当前版本的bitbucket(截至2011年12月)支持书签,当然,它们必须远程推送('hg push -B bkname'),并且它们似乎不会触发修改图形缓存(grr!)的“刷新”...但是它们最终显示在“分支”下...... – 2011-12-08 06:39:29

+1

书签仍然不支持拉取请求,请参阅https://bitbucket.org/site/master/issue/6705/cant-create-pull-request-from-hg-bookmark – JonnyJD 2013-10-11 12:12:51

+0

书签的拉取请求不是超级用户友好的,但支持 - https://stackoverflow.com/questions/21726865/how-to-创建-拉reques T-从-善变,书签上,到位桶 – 2014-02-26 04:39:00