gpt4 book ai didi

任务特征的 Mercurial 分支模型

转载 作者:行者123 更新时间:2023-12-04 06:27:36 25 4
gpt4 key购买 nike

enter image description here

我的开发环境:Windows 7、TortoiseHg、ASP.NET 4.0/MVC3

测试分支:测试服务器上的代码
Prod 分支:生产服务器上的代码

这是我目前的分支模型。分支出每个任务(功能)的原因是因为某些功能运行速度较慢。所以在上图中,任务 1 较早完成(变更集 #5),并合并到测试分支进行测试。但是,由于原始请求的错误或修改,已进行更改集 #10、#12。虽然任务 2 已经完成了测试 #8 并已经推送到现场 #9。

我的问题是每次修改任务分支(如#10、#12)时,我必须再次合并到测试分支(#11、#13),这使得图形非常困惑。

有没有办法解决这个问题?或者任何更好的分支模型?

最佳答案

听起来您确实在尝试实现功能分支策略。但是,根据您的图表,我认为您遗漏了几个步骤和/或合并了错误的分支。从本质上讲,您可能应该有更多的 4 条开发线,加上 1 条代表所有功能分支。不幸的是,我一直没能找到一个很好的图表,除了一个谈论 Git 和一个可行的分支策略 here .但是,即使您使用的是不同的 DVCS,如 Mercurial(我的最爱),该图也能更好地解释您正在寻找的内容。使用 Steve Losh 的 Guide to Branching in MercurialHg Book ,您应该能够实现适合您的良好功能分支策略。史蒂夫对每种方法都有优点/缺点。

而且,不,您不需要克隆即可正确分支。 Mercurial 已命名分支,如果您经常处理多个未完成的项目和/或为其他开发人员执行代码审查/测试,则可以让您轻松地在分支之间切换。对于任何类型的基于 Web 的 IIS 开发,命名分支更容易使用,因为事物不会移动,并且不同版本可以在 IIS 下使用相同的配置继续工作。

但是,我必须说,功能分支或您给它起的任何名称几乎总是一个坏主意,因为分支运行时间过长(例如,一年,我已经看到了灾难性的结果)几乎不可能合并回来,除非您经常(每天)管理功能分支与其父级之间的同步。这种类型的维护开销不值得麻烦,你最好坚持基于主干的开发,使用发布分支进行错误修复,并将代码修复为生产使用和未完成工作的抽象代码。

关于任务特征的 Mercurial 分支模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5854360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com