我一直在尝试查找分支源配置,以获取至少develop
和master
远程分支,以及运行作业的分支,但没有成功。
我的用例是通过git-ref名称和GitVersion提交消息来确定版本。到目前为止,我发现的唯一解决方法是繁琐且不可移植,因为它需要在不针对本地(file://(repo运行时向gitcli提供凭据。
sh "git fetch origin master:master"
sh "git fetch origin develop:develop"
我必须写一个自定义的GitSCMExtension
才能得到这种行为吗?
看起来远程分支(origin/{branch}(的refs实际上是被提取的,只创建了匹配的本地跟踪分支(origin/{branch}->{branch}(,这就关闭了GitVersion。看起来它产生的错误消息直接与此默认配置相矛盾:
System.InvalidOperationException: Could not find a 'develop' or 'master' branch, neither locally nor remotely.
在找到解决方案https://github.com/GitTools/GitVersion/issues/1049#issuecomment-5858737
配置GitVersion以实际考虑/origina/master和/origina/development
develop:
# (..)
regex: (^dev(elop)?(ment)?$|^origin/dev(elop)?(ment)?$)
master:
# (..)
regex: (^master$|^origin/master$)