Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GitVersion配置文件中的默认模式_Gitversion - Fatal编程技术网

GitVersion配置文件中的默认模式

GitVersion配置文件中的默认模式,gitversion,Gitversion,我发现很难开始使用gitversion 我这里的问题是如何解释这个文件 我有一个GitVersion.yml配置文件,如下所示 那么第二行的模式代表什么呢?如果没有为分支指定模式,是否会考虑使用默认模式 在以下场景中,所有分支都指定了模式。那么这意味着什么呢?对于任何分支(主分支、发布分支、功能分支、请求分支、修补程序分支、支持分支和开发分支),将考虑指定的各自模式(对于ex ContinuousDeployment,指定用于开发分支)?分支级别的模式设置是否会覆盖第2行的设置 最后,假设我创建

我发现很难开始使用gitversion

我这里的问题是如何解释这个文件

我有一个GitVersion.yml配置文件,如下所示

  • 那么第二行的模式代表什么呢?如果没有为分支指定模式,是否会考虑使用默认模式

  • 在以下场景中,所有分支都指定了模式。那么这意味着什么呢?对于任何分支(主分支、发布分支、功能分支、请求分支、修补程序分支、支持分支和开发分支),将考虑指定的各自模式(对于ex ContinuousDeployment,指定用于开发分支)?分支级别的模式设置是否会覆盖第2行的设置

  • 最后,假设我创建了一个新的分支urgentfix(未在yaml配置文件中指定),那么将考虑ContinuousDelivery模式,因为它是默认模式

  • 下一版本:6.0.1
    方式:连续交付
    分支机构:
    大师:
    方式:连续交付
    标记:“”
    增量:补丁
    防止合并分支版本的增量:true
    跟踪合并目标:false
    正则表达式:^master
    跟踪发布分支:false
    发布分支:false
    发布:
    方式:连续交付
    标签:beta
    增量:补丁
    防止合并分支版本的增量:true
    跟踪合并目标:false
    正则表达式:^releases?[/-]
    跟踪发布分支:false
    发布分支:正确吗
    释放前重量:1000
    特色:
    方式:连续交付
    标签:useBranchName
    增量:继承
    防止合并分支版本的增量:false
    跟踪合并目标:false
    正则表达式:^features?[/-]
    跟踪发布分支:false
    发布分支:false
    拉取请求:
    方式:连续交付
    标签:PullRequest
    增量:继承
    防止合并分支版本的增量:false
    标记编号模式:'[-](?\d+[-/]'
    跟踪合并目标:false
    正则表达式:^(pull | pull \-请求| pr)[/-]
    跟踪发布分支:false
    发布分支:false
    修补程序:
    方式:连续交付
    标签:beta
    增量:补丁
    防止合并分支版本的增量:false
    跟踪合并目标:false
    正则表达式:^修补程序?[/-]
    跟踪发布分支:false
    发布分支:false
    支持:
    方式:连续交付
    标记:“”
    增量:补丁
    防止合并分支版本的增量:true
    跟踪合并目标:false
    正则表达式:^支持[/-]
    跟踪发布分支:false
    发布分支:false
    发展:
    模式:连续部署
    标签:不稳定
    增量:小调
    防止合并分支版本的增量:false
    跟踪合并目标:true
    正则表达式:^dev(elop)?(elop)$
    跟踪发布分支:true
    发布分支:false
    忽略:
    沙:[]
    合并消息格式:{}
    
    回答您的问题:

  • 这是所有分支的“全局”版本控制模式(除非在
    分支
    部分下的分支配置中重写)
  • 是的,各个分支配置上指定的模式将覆盖第2行上的全局设置
  • 在这种情况下(文档并不是100%清楚这是怎么回事,但根据我的经验,我相信这是真的),因为您没有为分支配置指定任何
    regex
    es,我相信GitVersion将“回退”到默认值。功能分支的正则表达式是
    ^features?[/-]
    。基本上,一个分支可以选择以
    功能
    (单数或复数)开头,后跟
    /
    -
    (在正则表达式中未明确指定)再后跟任何其他内容。由于
    urgentfix
    不匹配任何其他分支默认正则表达式(根据GitFlow),
    urgentfix
    被视为一个功能分支
  • 对于上面的第3条,我不清楚
    分支
    部分是否是一个自由格式的部分,您可以在其中添加任何您想要的分支规范(例如添加
    urgentfix:
    部分),或者您是否必须使用一个“预定义”部分(都基于GitFlow分支)

    我想您可以尝试创建自己的配置部分,看看是否有效

    如果不是,您可能希望“劫持”其他分支配置中的一个,而您可能不会使用这些配置来实现所需的功能。如果您使用此方法,则可能需要覆盖配置中的其他设置,例如
    源分支
    ,以便GitVersion能够正确计算版本。当然,不要忘记使用适当的正则表达式,这样GitFlow就知道如何将此配置用于
    urgentfix
    分支

    更新

    我刚刚在他们的文档中看到,除了众所周知的GitFlow或GitHubFlow之外,您还可以添加自己的分支配置。但您有责任设置配置,以便GitVersion根据您的需求计算版本

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