首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为Mercurial中的非小费版本创建分支?

如何为Mercurial中的非小费版本创建分支?
EN

Stack Overflow用户
提问于 2011-03-16 13:44:11
回答 2查看 2.1K关注 0票数 6

在我的回购中,我的版本是1到10,我把它推到了5(所以下一个hg push会发布版本6-10)。

但我现在必须中断我的工作,结果不是100%完成。因此,我想把修订6-10进入一个新的“试验性”分支,让其他人完成工作,而不干扰每个人的来源。

如何将分支添加到无提示版本(在我的例子中:从第6版开始)?还是我应该用一种完全不同的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-16 16:24:09

如果不修改历史记录,就不能在事实之后应用分支名称。

最简单的方法是要求其他用户使用修订版5作为他们创建的任何更改的父级。例如,其他用户将:

  1. hg clone <your repo>甚至hg clone --rev 5
  2. hg update -r 5
  3. work,work,work
  4. hg commit

当他们提交一个更改时,它将在default分支上创建第二个头,但这不会造成任何问题。一旦您的实验更改完成,您将只需将这两个头合并在一起。

也就是说,可以使用Mercurial队列(MQ)实现将变更集移动到分支上。下面的序列显示了如何做到这一点:

  1. hg qinit (创建一个新的修补程序queue)
  2. hg qimport --rev 6:10 (将r6-10导入到新的修补程序queue)
  3. hg qpop -a中)(从工作copy)
  4. hg branch <branch name>中删除所有修补程序)(创建新的实验性copy)
  5. hg branch <branch name>(将所有修补程序应用到branch)
  6. hg qfinish -a (将所有修补程序转换为永久更改集)

)。

票数 8
EN

Stack Overflow用户

发布于 2011-03-16 18:09:13

蒂姆已经有了很好的建议。此外,您还可以将实验更改推入中央服务器上的一个独立的实验性克隆中(我猜您使用了一个)。这个克隆也可以被其他开发人员用来推动他们尚未完成的工作,以便让其他人来审查或继续它。很明显,这个克隆人的代码还没有准备好使用。一旦某个任务完成,就可以将相应的变更集推送到稳定的存储库中。

实际上,命名分支对于您的情况来说是个好主意,但是它们的名称大部分都被烧进历史,这更多地是一个问题,而不是一个特性。IMHO Git的分支名称更实用。但是,在某种程度上,您也可以使用书签来处理您的案件,这些书签可以从Mercurial 1.7 (此处不确定)起就可以推送。也就是说,您的书签第5版的内容类似于“稳定”(或您在团队中同意的任何内容),而第10版的书签上有类似奥伦-未完成的工作之类的内容。然后,其他开发人员只需保持稳定,除了您的同事,他应该继续您的工作,谁将拉另一个书签。然而,就我个人而言,我还没有使用这样的工作流,所以我不能说它在实践中的表现是否良好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5328039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档