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

时间:2018-09-17 13:00:12

标签: gitversion

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

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

GitVersion.yml

mode: Mainline

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

2 个答案:

答案 0 :(得分:1)

如我所见,您有两种选择。

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

branches:
  master:
    increment: None

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

但是,说您正在进行“主线”开发,并不一定意味着您仅在master分支中进行开发。我认为主线开发主要意味着您释放了master分支(即您没有将GitFlow与两个长期存在的分支masterdevelop一起使用),并且{{1 }}随时可以部署到生产中。

因此您可以使用两个不同的分支机构来实现所需的功能,如 @prestonsmith 在他的回答中已经说过的那样。您和您的团队可以在短暂的主题分支工作,而不是从master分支,最终进行合并(或者正常的merge-commit来保留历史记录,或者壁球合并(丢失分支历史,并且只将一次提交提交给master并创建所有更改)。这会导致默认行为,即单个补丁程序版本增量的默认行为,此行为以后可以通过使用git标签或在合并提交消息中添加类似{{1 }}来增加主要或次要版本号。

答案 1 :(得分:0)

简短的回答是“不-抱歉:(

但是,如果您确实决定只使用两个分支,则可以使用Git的“挤压并合并”策略来实现此目的,从而对此进行模拟。基本上,合并之后,您所有的提交都将成为主分支(主)上的单个提交。

感觉很简单,值得推荐:)