GitVersion Mainline - 每次推送时版本增量

标签 gitversion

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

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

GitVersion.yml

mode: Mainline

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

最佳答案

据我所知,您有两种选择。

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

branches:
  master:
    increment: None

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

但是,说您正在进行“主线”开发,并不一定意味着您只在主分支中进行开发。我认为主线开发主要意味着您从 master 分支发布(即您没有将 GitFlow 与两个长期分支 masterdevelop 一起使用),并且master 的状态在任何时间点都可以部署到生产环境。

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

关于GitVersion Mainline - 每次推送时版本增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52368376/

相关文章:

azure-devops - 在完成时从 Azure Devops Build Pipeline 设置 Git 标签

docker - 如何使用 gitversion Docker 显示变量

gitversion - GitVersion.Tool 和 GitVersionTask 有什么区别

azure-devops - 同一分支的版本碰撞仅适用于第一次碰撞提交

GitVersion.yml文件理解

git - 使用GitVersion生成Docker镜像标签

git - Azure devops GitVersion 任务失败

android - React Native - 从 package.json 到 android 构建 list 的自动版本名称

git - 如何使用 Azure Devops 和 Cake Build 在构建时自动标记和版本?