GitVersion.yml 文件理解

sag*_*ade 3 git version gitversion devops

branches:
  main:
    regex: ^master$|^main$
    mode: ContinuousDelivery
    tag: ''
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  release:
    regex: ^releases?[/-]
    mode: ContinuousDelivery
    tag: beta
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: true
    pre-release-weight: 1000
  feature:
    regex: ^features?[/-]
    mode: ContinuousDelivery
    tag: useBranchName
    increment: Inherit
    prevent-increment-of-merged-branch-version: false
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  pull-request:
    regex: ^(pull|pull\-requests|pr)[/-]
    mode: ContinuousDelivery
    tag: PullRequest
    increment: Inherit
    prevent-increment-of-merged-branch-version: false
    tag-number-pattern: '[/-](?<number>\d+)[-/]'
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  hotfix:
    regex: ^hotfix(es)?[/-]
    mode: ContinuousDelivery
    tag: beta
    increment: Patch
    prevent-increment-of-merged-branch-version: false
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  support:
    regex: ^support[/-]
    mode: ContinuousDelivery
    tag: ''
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  develop:
    regex: ^dev(elop)?(ment)?$
    mode: ContinuousDeployment
    tag: unstable
    increment: Minor
    prevent-increment-of-merged-branch-version: false
    track-merge-target: true
    tracks-release-branches: true
    is-release-branch: false
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下 GitVersion.yml 文件吗?它是如何工作的。另外,我不想使用 betaxxxx 创建版本。我只想发布只有 1.1.2/1.1.3 这样的数字的版本。我必须在此 GitVersion 文件中进行哪些更改?

zio*_*nyx 8

根据您的gitversion.yml文件,唯一可发布的分支是release分支。

您从这些发布分支的每次提交中获得的 semver 都会添加一个beta标签。即使您将发布分支命名为“.” releases/v1.2.3,您也会得到1.2.3-beta.someNumber

要获取 semver ,您必须为分支1.2.3中的提交创建 git 标记。GitVersion 识别该提交具有 git 标签,并将使用 git 标签中的版本作为 semver。releasev1.2.3

此行为是通过默认的 gitversion 配置来实现的tag-prefix: '[vV]',该配置不存在于您的 yml 文件中。您可以在文件顶部的 GitVersion 使用的配置的完整列表中找到此配置gitversion.yml,使用gitversion -showconfigdotnet gitversion -showconfig,无论您安装 gitversion 的方式如何。

  • 在 git 标记的提交上,gitversion 绕过gitversion.yml.

在这里阅读更多信息: https: //gitversion.net/docs/reference/configuration