我已经能够说服我的团队使用语义版本控制并迁移到 git(从 CVS,所有开发都发生在主干上)。
这是我们一直在使用的(版本分支表示引入了某种新功能):
master
*
|
* * version 2.0 branch
| /
* *
|/
* * version 1.0 branch
| /
* *
|/
*
|
...
问题是,当需要在 1.0 版分支上进行错误修复时,该修复需要回显到 2.0 版和 master。我们一直在挑选,但我觉得这比我想要的更容易出错(而且我觉得随着时间的推移它会变得难以管理)。
我们正在做的事情有一些限制——它是遗留代码,并且没有做很多测试(开始引入单元测试,集成测试很少),所以保持这些版本分支的稳定性(不引入很多回归错误)很重要。
你们有比挑选樱桃更好的方法吗?有更好的工作流程可以使用吗?非常感谢您提供的任何帮助。