1
我在回購中使用hg書籤,因爲它們允許我輕鬆使用不同的功能。 Mercurial的事情仍然是,所有提交都與分支相關聯。所以,我所做的是我有很多本地更改,並且有很多被拉到同一分支(但未更新)。換句話說,我的本地回購是這樣的:將本地提交重新分配給Mercurial中的其他分支
default -------E-F---------
newf -A-C-D---------J---
newf,bmark --\--------H-I----K
newf
是一個分支,是在遠程,拉至J和bmark
是我創建的書籤。在newf
中,標有bmark
的所有內容都嚴格限制在本機上。
現在,我想重新分配H,I和K(實際上,有~20個變化)到不同的分支,我可以推送到回購。有沒有辦法在Mercurial中這樣做,以便我的工作副本(我仍有一些未提交的更改)保持不受影響?
基礎上建議,使用「重訂」,我嘗試以下步驟:
hg up -r A
hg branch newbranch && hg ci -m "will hold some development"
# This effectively made a commit X
hg up bmark
hg rebase -d newbranch
除了獲取有關階段出現一些錯誤,底墊給我的東西我不會期望:
default -------E-F---------
newf -A-C-D---------J---
newf,bmark \ -----H-I----K
newbranch \X/
也就是說,H
,I
和K
上市仍然屬於newf
和bmark
,他們對提交X
頂部屬於分支newbranch
。我在這裏做錯了什麼?
我在我的案例中添加了使用rebase的結果。也許我做錯了什麼,但rebase沒有幫助。 – 2012-08-16 14:11:04
@NikolaKnezevic我認爲你需要指定一個'--source'分支,並從它的外觀中選擇你想要的'--detach'。你讀過什麼文件? – Mizipzor 2012-08-16 14:17:21
我也嘗試使用'--source'(如'hg up -r X && hg rebase -s K'),但由於某些原因,這並不起作用。我讀了你鏈接的維基和'hg -v help rebase'(順便說一句,它提到-D已被棄用)。 – 2012-08-16 14:43:35