2

如果你在GitVersion /showConfig没有配置文件的情况下运行,你会看到有一堆默认的分支配置。如果你在配置文件中设置了一个分支配置:

branches:
  example:
    regex: "example"
    source-branches: []

然后 show config 将在分支列表的开头显示它。如果您设置与现有默认分支配置同名的分支:

  master:
   increment: Minor

然后 show config 会将此设置与默认的 master 分支合并,并将其移至顶部:

branches:
  master:
    mode: ContinuousDeployment
    tag: ''
    increment: Minor
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    regex: ^master$
    source-branches:
    - develop
    - release
    tracks-release-branches: false
    is-release-branch: false
    is-mainline: true
    pre-release-weight: 55000

这有时可能很方便,但有时它只是烦人地意味着您的分支有意外的配置,或者您的正则表达式无法匹配,而其他默认分支配置之一匹配。

如何让 GitVersion 用我提供的配置完全替换其默认分支配置,而不合并每个分支的列表或设置?

4

1 回答 1

0

GitVersion 使用在给定分支上为您的项目计算语义版本时显示的所有设置。

当您提供自己的配置时,您真正要做的是覆盖默认配置。如果您没有为分支配置中的项目提供覆盖的配置值,则使用该分支的默认配置值。因此,即使您不提供它,它也会被继承。另一种方法是为您的分支配置指定每个设置,以完全覆盖和自定义 GitVersion 如何为您工作。

同样,这是必要的,因为只要 GitVersion 为您的项目计算版本,就会使用这些配置。

于 2020-03-10T14:24:55.163 回答