2011-04-15 76 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