我在主线模式下使用GitVersion。使用默认设置时,每次master提交时,它都会增加补丁号。有没有办法增加每次推送而不是每次提交的补丁数量?
如果我将3个提交放在一起,补丁将增加3个。在这种情况下,我将在VSTS构建中将版本从2.0.4跳转到2.0.7。
GitVersion.yml
mode: Mainline
注意:我只有一个分支,即“ master”,我将继续将更改直接推送到master。我不打算使用任何分支策略。
答案 0 :(得分:1)
如我所见,您有两种选择。
您可以为increment: None
分支配置覆盖master
:
branches:
master:
increment: None
但是,我认为您总是需要通过git commit来“手动”修改代码版本,例如,在您的提交消息中:+semver: (major|minor|patch)
,或将GitVersion.yml
文件更新为设置next-version
配置。我认为,这完全抵消了使用GitVersion的许多好处。但是,这仍然比 not 版本完全好!
但是,说您正在进行“主线”开发,并不一定意味着您仅在master分支中进行开发。我认为主线开发主要意味着您释放了master分支(即您没有将GitFlow与两个长期存在的分支master
和develop
一起使用),并且{{1 }}随时可以部署到生产中。
因此您可以使用两个不同的分支机构来实现所需的功能,如 @prestonsmith 在他的回答中已经说过的那样。您和您的团队可以在短暂的主题分支工作,而不是从master分支,最终进行合并(或者正常的merge-commit来保留历史记录,或者壁球合并(丢失分支历史,并且只将一次提交提交给master并创建所有更改)。这会导致默认行为,即单个补丁程序版本增量的默认行为,此行为以后可以通过使用git标签或在合并提交消息中添加类似{{1 }}来增加主要或次要版本号。
答案 1 :(得分:0)
简短的回答是“不-抱歉:(
但是,如果您确实决定只使用两个分支,则可以使用Git的“挤压并合并”策略来实现此目的,从而对此进行模拟。基本上,合并之后,您所有的提交都将成为主分支(主)上的单个提交。
感觉很简单,值得推荐:)