我正在使用主线模式的 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 与两个长期分支 master
和 develop
一起使用),并且master
的状态在任何时间点都可以部署到生产环境。
因此,您可以使用两个不同的分支来实现您正在寻找的目标,正如 @prestonsmith 在他的回答中已经说过的那样。您和您的团队可以在 master 的短期主题分支中工作,并最终合并(正常合并提交以保留历史记录,或压缩合并(丢失分支历史记录,仅将单个提交引入到 master 中,其中包含在 master 上创建的所有更改)主题分支)。这将导致单个补丁版本增量的默认行为,稍后可以通过使用 git 标签将其更改为次要或主要增量,或者在合并提交消息中添加类似 的内容+semver: (major|minor)
以增加主要或次要版本号。
关于GitVersion Mainline - 每次推送时版本增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52368376/