GitVersion.yml文件理解

标签 git version devops gitversion

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

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

最佳答案

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

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

要获得 semver 1.2.3,您必须在 release 分支 v1.2.3 中为提交创建一个 git 标记。 GitVersion 识别提交有一个 git 标签,并将使用 git 标签中的版本作为 semver。

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

  • 在 git 标记的提交上,gitversion 会绕过 gitversion.yml 中指定的许多分支特定配置。

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

关于GitVersion.yml文件理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69367851/

相关文章:

Azure DevOps YAML 管道错误 : While parsing a block mapping did not find expected key

git - 如何 merge 二进制文件?

java - 获取 JAR 文件版本号

java - maven 将我的项目编译为 Java 的哪个主要版本和次要版本?

visual-studio - 当特定版本为 False 时特定版本的程序集引用

php - 尝试使 PHP 代码在 bluemix 中运行

python - 在 Python 子进程中使用反引号

git - 在某个时间戳克隆 git

git - Azure DevOps,git fetch 失败,退出代码 128,致命 :Authentication failed for

linux - 如何在不映射到位置的情况下从 Docker 运行 Apache 服务器?