GitVersion(Azure DevOps):“GitVersion无法确定要将哪个分支视为开发分支”。

8

在 AzureDevops 上运行 GitVersion,当尝试在除主分支以外的任何分支上(包括拉取请求分支等)使用时,出现以下错误消息;

目前我已尝试通过以下方式解决此问题:

  • 增加检出深度
  • 手动指定下一个版本号

错误信息:

 Gitversion could not determine which branch to treat as the development branch

Git版本文件

mode: Mainline
branches: 
  master:
    regex: master
    increment: Patch
assembly-informational-format: '{MajorMinorPatch}+Branch.{BranchName}{PreReleaseTag}'
major-version-bump-message: '\+semver:\s?(breaking|major)'
minor-version-bump-message: '\+semver:\s?(feature|minor)'
patch-version-bump-message: '\+semver:\s?(fix|patch)'
commit-message-incrementing: Enabled
tag-prefix: '[vV]'
ignore:
  sha: []

YAML 管道

- task: gitversion/setup@0
  displayName: gitversion/setup
  inputs:
    versionSpec: '5.10.3'

- task: gitversion/execute@0
  displayName: gitversion/execute
  inputs:
    useConfigFile: true
    configFilePath: GitVersion.yml
3个回答

26

我在我的一个仓库中也遇到了同样的问题,突然出现。虽然我找不到具体原因,但通过调查GitVersion的工作方式,我得出结论是浅层获取是罪魁祸首。 我通过告诉流水线始终获取所有内容来解决这个问题。我将这个步骤放在我的流水线模板中,所以希望以后不会再发生这种情况。

- steps:
  - checkout: self
    fetchDepth: 0

突然间,这个星星也发生在我身上了。这会解决这个问题。打败这个聊天-gpt :) - pregmatch
1
chatgpt并不是被开发出来用于逻辑思考的,它只是一个“可信句子生成器”。 - Jan van Veldhuizen
ChatGPT将在更新其数据库至2021年9月之后时提供此答案的建议... - undefined

12

我找到了解决方法。管道设置的用户界面有一个浅层获取选项。

  1. 编辑你的管道,选择……,并选择触发器。
  2. 选择YAML、获取源代码,并取消选中“浅层获取”选项,或者设置所需的深度。

你的回答可以通过添加更多支持性信息来改进。请[编辑]以添加进一步的细节,例如引用或文档,以便其他人可以确认您的答案是否正确。您可以在帮助中心找到有关如何撰写良好答案的更多信息。 - Community
1
它对我起作用了。在DevOps上创建一个新项目后,此选项默认启用。 - Rafael Caviquioli
救了我的一天,它对我起作用了。 - Hoàng Trần
对我来说也可以。 - Hoang Minh

1
您提到“增加结账深度”,这暗示着在您的CI作业中使用“稀疏检出”或“浅存储库”选项(是这样吗?)。
浅存储库的缺点是:运行CI作业的存储库没有您存储库的历史记录。
如果您的作业需要找出当前分支领先于“master”的提交数,它需要至少具有连接“master”和您当前分支的历史记录部分。
最简单的方法是关闭稀疏/浅选项,另一种方法可以是显式地“加深”您分支的历史记录:
git fetch --deepen=100 origin master
git fetch --deepen=100 origin [active branch]

1
你在这里使用了错误的术语,应该是“shallow repository”而不是“sparse checkout”。(似乎随着年龄的增长,我更容易从脑海中抓取错误的短语。我认为这是因为我知道的事情越来越多,而不是因为我变老了) - torek
@torek:编辑了答案以反映精度 :) - LeGEC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接