2013-08-24 47 views
5

我在branch-a上工作時發現一個不相關的bug,應該在default分支中修復。因此,我想對default進行一些更改,然後將default合併到當前分支中,並繼續工作。hg:對另一個分支提交一些更改

據我所知,Mercurial不允許直接提交到另一個分支,所以我將不得不首先切換到默認分支。問題是,我不能簡單地簽出默認分支,因爲其他更改會導致衝突。我能想到的一個工作流程是擱置,檢出缺省值,僅取消與修復相關的文件,提交,檢出分支-a,合併默認值,最後取消擱置其餘文件。有沒有更簡單的方法來實現這一點?

回答

0
  • 提交文件的唯一子集,與branch-a改變(使用記錄擴展的額外功率,如果bug修正的和分支一的變化,一些文件(縣發生) - 提交的文件只需要大塊)爲變更一個

如果你還沒有MQ擴展:

  • 提交更改的其餘部分爲branch-a如變更B(A兒童)
  • 再次基於B(衍合帶分機ension)變更爲default分支與奧德--keep選項具有B-在原來的位置也

如果你有MQ擴展

  • 創建工作-dir的新補丁修改
  • 取消應用MQ-補丁
  • 更新到default
  • 應用補丁
  • 測試,測試...
  • 完成補丁(轉換爲永久變更)
  • 移植只有branch-a分支
+0

感謝這個變更!我只是模糊地意識到重建,但現在我明白了它的重點。 – alekop

+0

很高興知道這樣做的rebase和mq-patch方法。然而,擱置 - >開關分支 - > unshelve似乎對我來說更容易。不管怎麼說,還是要謝謝你。 –

相關問題