我正在尝试设置 GitVersion 来处理我们项目的语义版本(GitFlow),但它没有按照我期望的方式自动递增。我还在努力阅读该项目的文档,但它不是很易于理解。
基本上,我们希望建立一个主次修订号的版本系统,其中我们手动递增主要版本号,在发布分支合并到主分支时自动递增次要版本号,在功能分支合并到开发分支时自动递增修订号。
这是我的当前
基本上,我们希望建立一个主次修订号的版本系统,其中我们手动递增主要版本号,在发布分支合并到主分支时自动递增次要版本号,在功能分支合并到开发分支时自动递增修订号。
这是我的当前
GitVersion.yml
文件:mode: ContinuousDeployment
branches:
feature:
increment: Patch
regex: feature?[/-]
release:
increment: Minor
regex: release?[/-]
develop:
regex: develop$
master:
regex: master$
ignore:
sha: []
我写了一个小的 Ruby 脚本来加速这个繁琐的过程,以测试它。我把它包含进来只是为了确保我正在按照预期的方式使用 GitVersion 和 GitFlow。
require "git"
def new_feature_branch i
g = Git.open(Dir.pwd)
branch_name = "feature/number-#{i}"
g.checkout("develop")
g.branch(branch_name).checkout
open('README.md', 'a') do |f|
f.puts "\r#{i}"
end
g.add("README.md")
g.commit("##{i}")
g.branch("develop").checkout
g.merge(branch_name)
g.branch(branch_name).delete
print(`gitversion`)
end
new_feature_branch(ARGV[0])
gitversion
的输出结果
{
"Major":1,
"Minor":1,
"Patch":0,
"PreReleaseTag":"alpha.39",
"PreReleaseTagWithDash":"-alpha.39",
"PreReleaseLabel":"alpha",
"PreReleaseNumber":39,
"WeightedPreReleaseNumber":39,
"BuildMetaData":"",
"BuildMetaDataPadded":"",
"FullBuildMetaData":"Branch.develop.Sha.57a536a5c6b6abb4313a2067468413447cb49c86",
"MajorMinorPatch":"1.1.0",
"SemVer":"1.1.0-alpha.39",
"LegacySemVer":"1.1.0-alpha39",
"LegacySemVerPadded":"1.1.0-alpha0039",
"AssemblySemVer":"1.1.0.0",
"AssemblySemFileVer":"1.1.0.0",
"FullSemVer":"1.1.0-alpha.39",
"InformationalVersion":"1.1.0-alpha.39+Branch.develop.Sha.57a536a5c6b6abb4313a2067468413447cb49c86",
"BranchName":"develop",
"Sha":"57a536a5c6b6abb4313a2067468413447cb49c86",
"ShortSha":"57a536a",
"NuGetVersionV2":"1.1.0-alpha0039",
"NuGetVersion":"1.1.0-alpha0039",
"NuGetPreReleaseTagV2":"alpha0039",
"NuGetPreReleaseTag":"alpha0039",
"VersionSourceSha":"27938c50fc6f364eff52bccec8dbc10297bce87b",
"CommitsSinceVersionSource":39,
"CommitsSinceVersionSourcePadded":"0039",
"CommitDate":"2019-10-28"
}
我预期每次将一个功能分支合并到develop分支时,修补程序号都会增加,但事实并非如此。
gitversion /version
的输出还是仅指gitversion
的输出。我编辑了问题以包括后者。 - Ryan Grushgitversion /showconfig
我猜想develop:increment可能不是你期望的(补丁)。 - 8DH