Github版本控制:标签中有可能有两个单独的序列吗



我正在处理Github操作,并试图实现一种新的策略来处理测试和生产版本。想法如下:

有一个用于稳定版本的主分支,还有一个用于最新代码的开发分支。您可以创建一个功能分支,进行更改,并在合并到开发之前提交和推送。这创建了一个版本,比如v1.5.4-develop。在某个时刻,develop被合并到main中,以创建一个新的生产版本。这将遵循自己的编号,独立于开发顺序。所以它可能是v1.2.1或其他版本。目前,我正在使用语义版本操作在合并到development或main时创建一个新标记,如果是development分支,则应用后缀。这很好,但当我合并到main中时,它会使用repo中的最新标记。

我想找到一种方法来获得没有的最新标签,并增加后缀,以便主要版本遵循自己的顺序。

示例:

最新主版本:v1.2.3

最新开发版本:v1.4.6-开发

我希望新的主版本是1.3.0,但目前是v1.4.6。

创建标签的代码:

steps:
- uses: actions/checkout@v3
with:
ref: develop
fetch-depth: 0
- name: Bump version
uses: PaulHatch/semantic-version@v4.0.2
id: tag_version_develop
with:
tag_prefix: "v"
major_pattern: "BREAKING CHANGE"
minor_pattern: "feat:"
format: "${major}.${minor}.${patch}"
namespace: develop
change_path: "."
short_tags: false
bump_each_commit: true
- name: Tag Release (vX.Y.Z)
run: |
git tag ${{ steps.tag_version_develop.outputs.version_tag }}
git push origin ${{ steps.tag_version_develop.outputs.version_tag }}

对于主版本,它是相同的,但没有名称空间。我尝试使用名称空间"main"来查看是否会查找带有该后缀的最后一个标记,但没有。

为开发版本使用不同的tag_prefix

最新更新