Mercurial返回默认分支的正确方法

Mercurial返回默认分支的正确方法,mercurial,tortoisehg,Mercurial,Tortoisehg,我们在不同的分支上为我们的应用程序开发新的模块。测试完后,它们将合并到默认分支中。当我们需要对模块进行更改时,我们会重新打开分支,进行更改,测试并最终再次合并到默认分支中 在更新模块时,我们偶尔会发现核心代码中的错误。我们通常会修复bug,然后将更改提交回默认分支。但是,因为我们在模块分支中,所以必须重新打开“default” 这并没有达到预期的效果,因为我们最终得到了两个默认分支 那么,当您在另一个分支中时,在不丢失更改的情况下,提交到“default”的正确方法是什么呢?(最好使用乌龟) 下

我们在不同的分支上为我们的应用程序开发新的模块。测试完后,它们将合并到默认分支中。当我们需要对模块进行更改时,我们会重新打开分支,进行更改,测试并最终再次合并到默认分支中

在更新模块时,我们偶尔会发现核心代码中的错误。我们通常会修复bug,然后将更改提交回默认分支。但是,因为我们在模块分支中,所以必须重新打开“default”

这并没有达到预期的效果,因为我们最终得到了两个默认分支

那么,当您在另一个分支中时,在不丢失更改的情况下,提交到“default”的正确方法是什么呢?(最好使用乌龟)

下面是“海龟”对话框的屏幕截图,我在其中选择“默认”分支,然后是对图形的操作

  • hg更新默认值
  • 做些改变
  • hg提交
  • hg更新模块布兰奇
  • 如果您正确地描述了您的工作流程,这应该可以在不创建任何新头或其他任何内容的情况下工作

    如果需要检索模块分支中的更改,可以添加
    hg merge default
    ,作为第五步


    如果您的存储库中有未限制的更改,并且不想在更新为默认值之前提交这些更改,您可以使用,例如,或者只需将
    hg diff
    的内容保存到一个文件中,稍后将使用
    hg patch

    重新应用默认值是什么意思?我添加了一个屏幕截图来更好地解释。@Ben看着你的屏幕截图,我真的不明白你的工作流程。。。为什么在选定的提交之后会有提交?如果您在新模块的分支中工作,那么bug修复提交应该是默认分支上的最后一个。您能否更好地描述流程中涉及的每个步骤(为新模块创建分支、修复错误等)的工作流程。顺便说一句,你试过我的解决方案吗?这应该是相当容易的“翻译”为乌龟,命令有完全相同的名字谢谢。你知道为什么我会得到截图中显示的重复的“默认”分支吗?@Ben看看我对你的问题的评论,我认为你的工作流程有缺陷,如果你做得正确,你所描述的就不会发生。错误修复提交应该是默认分支上的最后一个,并且不会在分支的“中间”丢失。你说,这可能是我的工作流的问题(在进行修复之前,我应该切换回默认分支)。但是,它没有解释为什么在提交到默认分支时,它实际上创建了一个新的默认分支,然后我不得不与另一个分支合并。这完全取决于提交时的当前修订版本。如果提交的父级不是分支的头,则将创建一个新头。在提交之前只需更新头部,这将解决您的问题。我无法找到通过工作台UI执行此操作的方法,因此我必须使用终端。非常感谢。