我有一个在master
分支上进行开发的项目。在某些点上,我们将的分支到一个发布分支上,例如2.1.x
。在这样一个分支上,我们在RC期间进行了几次提交,最终确定了2.1.0版本。在2.1.0版本之后,我们可能会进行后台修复并进行额外的2.1.x版本。
很明显,一旦发生2.1.0,2.1.x
分支名称是正确的。然而,在没有稳定的2.1.0版本的情况下,它以前是正确的吗?还是应该将分支称为2.1.x-dev
,然后在标记2.1.0后重命名?
分支自动仅具有开发稳定性。
根据您想要实现的目标,将其视为一个缺点或优点:一个使用包且不允许开发稳定性的软件将不会安装该包的依赖项,如果它们不稳定的话——即使该包依赖于类似"2.1.0@dev"明确。
缺点是你不能直接安装依赖项,你必须明确地允许它:
- 或者将依赖包直接添加到具有相同版本要求的软件中,这允许开发稳定性
- 或者使用
"minimum-stability": "dev"
来允许每个版本要求安装dev稳定性(这可能会造成巨大的混乱和破坏),所以 - 最小稳定性可能应该与CCD_ 6成对出现
现在对于分支版本号:分支应该具有稳定x.y.0版本时的版本号。
在没有标记版本的情况下,2.1.0@dev
的一个需求将在使用上述方法时安装2.1.x分支的最新提交。对于标记版本,如果最低稳定性允许,间接依赖性将开始令人满意,即如果主软件允许安装RC包,则将安装任何标记版本,如2.1.0RC3或最终2.1.0。
请注意,安装分支就像试图瞄准移动的目标。包含版本的分支名称略好于使用"dev-master",但仍允许合理数量的冲突。试着在任何时候为生产软件使用标记的版本-无论版本是alpha、beta、RC还是最终版本,标记都必须指向已定义的提交并符合语义版本控制的方案(即不应将向后不兼容的更改作为错误修复引入)。