【问题标题】:GitVersion Mainline - Version increment on every pushGitVersion Mainline - 每次推送的版本增量
【发布时间】:2018-09-17 13:00:12
【问题描述】:

我正在使用带有 Mainline 模式的 GitVersion。使用默认设置,它会随着 master 中的每次提交而增加补丁号。有没有办法在每次推送而不是每次提交时增加补丁数量?

如果我将 3 个提交一起推送,补丁会增加 3。在这种情况下,我会在 VSTS 构建中获得从 2.0.4 到 2.0.7 的版本跳转。

GitVersion.yml

mode: Mainline

注意:我只有一个分支,即“master”,我将继续将我的更改直接推送到 master。我还没有打算使用任何分支策略。

【问题讨论】:

    标签: gitversion


    【解决方案1】:

    在我看来,您有两种选择。

    您可以为您的 master 分支配置覆盖 increment: None

    branches:
      master:
        increment: None
    

    但是,我认为您总是需要通过 git 提交“手动”提升代码版本,例如在您的提交消息中包含:+semver: (major|minor|patch),或更新您的 GitVersion.yml 文件以设置 @987654326 @ 配置。我认为,这完全抵消了使用 GitVersion 的许多好处。但是,这仍然比版本控制要好!

    但是,说你在做“主线”开发,并不一定意味着你只在 master 分支中开发。我相信主线开发主要意味着你从主分支中释放出来(即你没有使用带有两个长期分支的 GitFlow,masterdevelop)并且master 的状态在任何时候time 可以部署到生产环境中。

    因此,正如 @prestonsmith 在他的回答中已经说过的那样,您可以使用两个不同的分支来实现您正在寻找的东西。您和您的团队可以在 master 的短期主题分支中工作,并最终合并(正常的合并提交以保留历史记录,或 squash 合并(丢失分支历史记录,只需将单个提交引入 master 并创建所有更改)主题分支)。这将导致单个补丁版本增量的默认行为,稍后可以通过使用 git 标签将其更改为次要或主要增量,或者在您的合并提交消息中添加类似 +semver: (major|minor) 的内容改为增加主要或次要版本号。

    【讨论】:

      【解决方案2】:

      简短的回答是不 - 对不起:(

      但是,如果您确实决定只使用两个分支,则可以通过使用 Git 的“Squash and Merge”策略来模拟它来实现它。基本上,合并后,您的所有提交都将成为主分支(主分支)上的单个提交。

      感觉很简单,可以作为建议:)

      【讨论】:

        猜你喜欢
        • 2020-06-29
        • 2020-05-12
        • 2021-05-27
        • 2022-10-25
        • 1970-01-01
        • 2021-11-19
        • 1970-01-01
        • 2021-01-04
        • 2016-01-13
        相关资源
        最近更新 更多