2012-12-10 57 views
0

我是新手處理mercurial。我做了一些亂七八糟的努力在樹枝上,現在我想在短短的一個「默認」爲「平」的所有分支如何清除mercurial中的分支?

[email protected]:~/bitbucket/campus$ hg branches 
default      27:f28e8d8773c6 
15       20:6b434f251b7e 

分支機構已經被推到遠程回購。

我想清除所有其他分支,放棄對它的所有更改。閱讀那些tutorial,我找不到解決它的最佳選擇。

回答

2

最簡單的事情是隻「關閉」不需要的分支,讓他們在和平:

hg update -r "branch('15')" 
... 
hg commit --close-branch 

如果你只有推/拉訪問遠程回購,你沒有辦法刪除變更後,你推動它們。因此關閉分支並繼續前進,或放棄bitbucket回購,清理本地分支,然後重新開始。

要清理你的本地回購,如果你有一個大混亂,最簡單的方法是選擇一個很好的修訂(例如,默認的提示,但你可以選擇一個更早的),並克隆它和它的所有祖先:

hg clone -r <goodrev> messy-repo new-repo 

The documentation(這你已經引用)具有本等幾個修枝選擇一個很好的解釋,但你推到你所不懂的一個倉庫後他們都不是適當的控制。

+0

分支名稱15更新到分支頭必須是'hg up 15' –

+0

哦?確實!:-)儘管如此,也許這種語法對於某些分支OP想關閉。例如,如果分支名稱包含冒號,它將起作用。 (當然,也可以給出修訂號......) – alexis

+0

也許鏈接到[PruningDeadBranches](http://mercurial.selenic.com/wiki/PruningDeadBranches)會有幫助嗎? – davidmc24

0

對於已經被推分支你沒有任何的自由:只有--close-branch

0

當我發出汞分支機構,我得到了像上述兩列報表:

[email protected]:~/bitbucket/spo$ hg branches 
dev       232:31cf2690dd47 (inativo) 

有什麼我的理解是什麼? 。

有2個開設了分支機構:(

這是我的大錯只有一個分支:開發

第二列「232:31cf ......」只是上次提交「dev」分支!!!