重用已合并为默认值的分支

时间:2014-01-15 21:46:52

标签: version-control mercurial merge tortoisehg

使用Mercurial时,假设您使用的是“默认”分支。您可以通过从此创建新分支并将它们合并回“默认”(当您对新分支的工作完成时)。

将新分支(称之为'myBranch')合并回'default'之后,您实际上决定需要处理'myBranch'。 'myBranch'此后一直没有关闭。在'myBranch'上工作最好的是什么?

2 个答案:

答案 0 :(得分:1)

没什么可做的。如果你想继续myBranch中的最后一次提交:

hg checkout myBranch   # checks out last commit in myBranch
...hack...
hg commit              # creates a new commit on myBranch

相反,如果您要使用当前deafult(罕见)上的任何内容重新打开myBranch,那么:

hg checkout default
hg branch --force myBranch  # says "next commit should be on branch myBranch and I don't care if there already was one"
...hack...
hg commit

你可能想要第一个。

答案 1 :(得分:1)

  1. 分支的合并(在Mercurial中)并不意味着它会被关闭。使用过的牧场永远是Mercurial变革集的永久组成部分
  2. 合并不会关闭分支,只需删除合并分支的HEAD
  3. 由于Mercurial的历史记录是DAG,因此您始终可以将(hg up CS-ID)返回到其中的任何条目(变更集)并从此点开始工作,在提交时添加新的子变更集
  4. 对于命名分支,branchname是此分支的最新(拓扑)变更集的HEAD的CS-ID
  5. Long-term branch merging

    对于LTB“清理”,我在每次将其合并到默认分支

    后使用hg up Cleanup