一般而言,对于在产品生命周期中可能有多个版本并且需要先前产品支持的长期项目,处理产品版本和代码分支的最佳方法是什么?
从更具体的意义上说,假设适当的分布式版本控制在位(即git),并且团队的大小由小到大,并且开发人员可能同时从事多个项目。面临的主要问题是,有合同义务支持当时存在的旧版本,这意味着新开发无法修补旧代码(Microsoft Office产品可能就是其中的一个示例,您只能获得针对您拥有的功能年份)。
结果,当前的产品版本控制令人费解,因为每个主要产品都具有多个依赖项,每个依赖项都有其自己的版本,这些版本可能会在年度版本之间发生变化。同样,尽管每个产品都有其自己的存储库,但大部分工作不是在主要源主干上完成,而是在该年产品发布的分支上完成,而在发布产品时将创建一个新的分支,以便对其进行支持。反过来,这意味着获得产品的代码库并非易事,因为使用版本控制时可能会想到。