我在試用某個特定功能時遇到了Mercurial工作流程中的問題。我嘗試了三種不同的方法來實現該功能,通過提交每個更新,然後更新到之前的更改集 - 所以我最終得到了三個不同的分支。Mercurial實驗工作流程
一旦我選擇其中一個分支作爲該功能的「正確」實現,我想刪除其他分支以便我沒有多個頭。我如何以簡單的方式做到這一點?我最終將三個分支合併在一起,這是毫無意義的,因爲我只想要一個分支的代碼。
我在試用某個特定功能時遇到了Mercurial工作流程中的問題。我嘗試了三種不同的方法來實現該功能,通過提交每個更新,然後更新到之前的更改集 - 所以我最終得到了三個不同的分支。Mercurial實驗工作流程
一旦我選擇其中一個分支作爲該功能的「正確」實現,我想刪除其他分支以便我沒有多個頭。我如何以簡單的方式做到這一點?我最終將三個分支合併在一起,這是毫無意義的,因爲我只想要一個分支的代碼。
除了hg strip
從mq extension,你可以簡單地使用standard clone command:在../pruned
$ hg clone -r the-good-head . ../pruned
得到的克隆是隻保存了好頭(和它的所有祖先)。這是在Mercurial中修剪內容的安全內置方式,它的優點是在命令後您仍然可以保持兩個存儲庫完好無損。所以如果你犯了一個錯誤,那麼就刪除../pruned
克隆。
下關閉分支
hg commit --close-branch
它不會在
hg branches or hg heads
顯示啓用內置的MQ擴展和運行hg strip
。
@pyfunc的答案保持修訂歷史中的封閉分支,這是我實際上會做的除非你不需要的分支是巨大的。
它仍然顯示在HM頭。我其實並沒有真正創建過一個分支,只是一個3頭九頭蛇! – Tarski 2010-09-16 16:18:53
它適合我。你碰巧有'-c'作爲'hg heads'的默認選項嗎? – 2010-09-16 16:22:44
另外在Mercurial 1.3.1中有一個錯誤,這在最新版本的Mercurial(hg heads)上效果很好。 – pyfunc 2010-09-16 16:32:52