【发布时间】:2009-09-09 10:49:35
【问题描述】:
我为每个新功能创建分支。然后我将它们合并到主干中,然后将它们发送到测试站点。这意味着主干不稳定。
不知道有没有更好的办法。
编辑 阅读评论后,我意识到我应该指定它是一个网络应用程序。所以一个测试每个分支的网站似乎有点难以维护。
【问题讨论】:
标签: svn version-control
我为每个新功能创建分支。然后我将它们合并到主干中,然后将它们发送到测试站点。这意味着主干不稳定。
不知道有没有更好的办法。
编辑 阅读评论后,我意识到我应该指定它是一个网络应用程序。所以一个测试每个分支的网站似乎有点难以维护。
【问题讨论】:
标签: svn version-control
我使用以下:
分支:不总是编译,不总是稳定
trunk:总是编译,并不总是稳定
标签:始终编译,始终稳定
在将标签转换为实时发布标签之前对标签进行最终测试。
这样后备箱不稳定也没关系
【讨论】:
我更喜欢保持主干始终稳定,我在here这个话题上讨论得很好
【讨论】:
有一件事是,您可以在合并回来之前在分支上进行测试。此外,主干通常不被视为稳定的开发,您不时制作快照,在不添加功能的情况下修复错误(甚至删除有错误或不完整的功能)并将这些分支作为稳定版本发布。
编辑:进一步解释一下:长时间保持功能分支与主干分离可能会导致集成问题。您的团队认识到后期冲突更改 - 不仅在源级别,而且在语义或数据级别。保持主干电流可以快速发现此类问题。因此我更喜欢稳定在一个单独的分支上。
【讨论】:
你可以有分支/新功能和分支/稳定
主干不是稳定的,但是当你将主干“冻结”在一个分支中时……那就是稳定的分支。
【讨论】:
您需要主要使用“标签”,它只是将特定版本的主干标记为稳定的东西。标签通常用于标记发布,这意味着代码对于标记的版本是稳定的。
做到这一点的方法是维护一个所有成员都贡献代码的主干。如果一个成员想要开发和测试一个新特性,他会创建一个分支,开发他的东西,测试它,然后合并到主干中。当您决定发布下一个稳定版本的主干时,您会测试主干代码,如果发现稳定,则将该特定版本的主干标记为发布版本或稳定版本。否则,修复主干或分支中的错误并将其合并回主干,再次测试主干,如果发现稳定,将其标记为稳定版本。在这里,您始终将标签视为稳定版本,将主干视为开发版本,将您的分支视为实验版本。
但即使在这里,您也需要对进入后备箱的内容以及决定稳定版本的内容进行一些质量控制。
【讨论】:
为什么在测试完成之前将开发合并到主干?您可以等到测试确保更改不会破坏您的系统,然后再将它们合并到主干,
您的一般合并策略是什么?你有发布分支还是从主干发布?
【讨论】:
在合并回主干之前不能测试分支吗?
否则像Mercurial 这样的分布式版本控制系统可能是前进的方向。有了它,您可以为每个功能定义新的存储库,并进行测试,然后推送到“主干”存储库。
【讨论】: