我已经能够说服我的小组使用语义版本控制并转移到git(来自CVS,所有开发都发生在主干上).
这就是我们一直在使用的东西(版本分支表示某种新功能的引入):
master
*
|
* * version 2.0 branch
| /
* *
|/
* * version 1.0 branch
| /
* *
|/
*
|
...
Run Code Online (Sandbox Code Playgroud)
问题是,当需要在版本1.0分支上进行错误修复时,该修补程序需要回显到版本2.0和主数据库.我们一直在挑选,但我觉得这比我想要的更容易出错(我觉得随着时间的推移它会变得无法管理).
我们正在做的事情有一些限制 - 它是遗留代码,并且没有进行大量测试(开始引入单元测试,非常少的集成测试),因此保持这些版本分支的稳定性(不介绍很多回归错误)很重要.
你们有没有比采摘樱桃更好的方法来解决这个问题?有更好的工作流程可供使用吗?非常感谢您提供的任何帮助.