Sim*_*tin 5 mercurial branching-and-merging
如何将我在默认分支上创建的错误修复到mercurial中的命名分支?我最近开始研究一个新功能,所以我认为我会在一个分支中完成这项工作(之前我没有真正做过),所以我可以将更改保留在主要的默认分支之外,直到我完成它们并且该功能已准备好部署.我的想法是我可以更新到默认分支并根据需要应用任何错误修正.

现在我想把bug修复到我的命名分支.提示(rev 739)有我希望包含在BoardSummary分支中的更改.我知道我可以合并,但我不想将BoardSummary更改带到默认分支.
我查看了mercurial:将一个bugfix更改从稳定的命名分支应用到dev分支答案,但它对我没有意义.
编辑:我用它来"然后你发现变更集2引入了一个错误",在我的情况下,我回到732修复了错误并提交了(默认情况下).我的想法是在我分支之前修复已经到位.但是现在如何在不将两个分支合并在一起的情况下将其修复到738?看起来这个bug实际上是在739中修复的 - 所以不在BoardSummary分支中.这似乎是第二棵树在答案中显示的内容,但第三张图解释为"你会这样做" - 我不明白那一点
显然,您的默认分支只包含BoardSummary 分支中不存在的一个变更集.你应该将默认值合并到BoardSummary中,而不是相反.这样,BoardSummary将获得修复,并且BoardSummary都不会默认.
总结一下:
$ hg up BoardSummary
$ hg merge default
$ hg commit -m "Merge the fix for #247"
Run Code Online (Sandbox Code Playgroud)
可以使用多种分支.最常见的是:
这里的主要思想是从稳定到默认,从默认到功能合并始终是安全的.这意味着就变更集而言,任何稳定分支都是默认的子集,而默认是功能分支的子集.
例如,您正在重新设计功能分支new-dal(主要功能)中的数据访问级别.与此同时,您在默认情况下添加了几个新报告(次要功能),并找到并修复了1.0稳定版中的错误.好吧,只需合并从最旧到最新的分支(1.0-stable - > default - > new-dal),这就是全部.
这在Mercurial维基上很好地解释了:标准分支:发布分支.
在您的情况下,BoardSummary显然是一个功能分支,因此您可以毫不犹豫地将默认值合并到其中.只有在您准备将新功能集成到默认功能时才应该执行相反的操作.