问题标签 [gitversion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1470 浏览

gitversion - 如何确定 GitVersion 为什么选择特定的基础版本?

我正在使用 GitVersion(如果重要的话,版本 3.5.3),并得到了一些意想不到的结果;特别是生产的版本有一个意外的提交计数部分。查看日志我可以看到提交计数计算正确,但 GitVersion 使用的基本版本是错误的(或者至少不是我认为的那样)。

然而 GitVersion 的日志文件并没有什么帮助,它只是列出了一系列标签,然后是一长串合并基础,最后它只是说明它决定使用哪个基础版本。

GitVersion 可以让我知道为什么它选择了那个特定的基本版本吗?

0 投票
3 回答
1617 浏览

tfs - 拉取请求上的 GitVersion StackOverflow

我在本地 TFS2017 构建中遇到了问题。我们有一个带有 GitVersion 任务的项目,在使用拉取请求时找不到版本。我可以毫无问题地自行构建分支,但拉取请求会一直持续到 GitVersion.exe 以 stackoverflowexception 退出。

我尝试使用“commits-before:”忽略提交,并且对拉取请求进行了各种分支配置更改,但均无济于事。

日志中一遍又一遍地发生以下情况,直到异常...

0 投票
0 回答
240 浏览

.net - NuGet Pack、GitVersionTask 和针对多个框架版本

通常,当使用GitVersionnuget pack和 GitVersionTask(它会自动生成像 AssemblyInformationalVersion 这样的 .NET 程序集版本)时,我将通过对文件运行命令来生成 NuGet 包,并在其旁边放置.csproj一个.nuspec文件。这使我可以使用完整的 nuspec替换标记集,例如 $version$,然后从 GitVersion 生成的 AssemblyInformationalVersion 中获取其值,从而无需在任何地方对它们进行硬编码。

但是,在某些情况下,我想生成针对多个框架版本的 NuGet 包(然后进入 /lib 下的子文件夹,例如 net40、net45 等)。我通常会使用单独的项目(每个项目针对单个框架版本)来执行此操作,并将源文件作为链接添加到每个项目中。但这意味着nuget pack要处理多个 .csproj 文件,据我所知,NuGet 没有任何类型的“附加”模式可以添加到现有的 nupkg 存档中。因此,这意味着我需要直接nuget pack.nuspec执行操作,这剥夺了我使用替换令牌的能力。

因此,如果我希望能够使用 GitVersion 自动生成程序集版本,针对多个框架版本,利用 $version$ 之类的替换标记来避免对它们进行硬编码,我该怎么做呢?

0 投票
1 回答
1003 浏览

powershell - How to I set environment variables using gitversion?

I am trying gitversion /output buildserver in both powershell and command prompt and neither modify the environment variables with GitVersion.SemVer (for example). How can I use it in a script?

0 投票
1 回答
1369 浏览

git - GitVersion:如何通过提交消息回滚 SemVer 编号更改?

您好,我正在测试 GitVersion,我添加了一个提交消息+semver:minor,现在版本的次要编号增加了。如果我做错了,建议回滚什么?

-> 我尝试使用 Revert 并且它不起作用,因为该版本基于提交消息,但我想知道在 SemVer 增加的提交消息之后我们是否有很多提交,然后我们想要修复它。也许更改基础 GitVersion.yml 是最简单的方法。

-> 我使用 Cherry-Pick 实现了我想要的,选择提交并放置在另一个分支中,然后删除带有错误提交消息的分支。我正在寻找比这更容易的东西。

0 投票
2 回答
1174 浏览

git - 使用 GitVersion 缩短提交哈希

有没有办法将 GitVersion 配置为使用缩短的(比如 6 个字符长)哈希作为其版本编号?

IE;

变成

熵应该意味着额外的字符(过去,比如 6,有1.6^10*7排列)没有提供重要的标识,但如果需要显示它会使版本更短一些。

0 投票
1 回答
662 浏览

git - 来自 AssemblyInfo 版本的 Git 标记

TLDR;安装和配置gitversion后,如何“连接”我的 git repo 和 .nuspec 以使用注入的 AssemblyInfo 生成的版本号?

这是我第一次尝试自动正确地对任何东西进行版本控制。到目前为止,我一直在 git 中手动完成此操作。当我开始使用 MyGet 将我的第一个 NuGet 包推送到 NuGet.org 时,我看到 MyGet 将版本标签添加到我的 git repo 但是。但是 MyGet 所做的并不符合我的愿望。

我希望我的 Git(注意:我严重依赖GitKraken)每次在 GitFlow (或任何其他系统,如果这样的系统需要工作)。

我使用 gitversion 的 NuGet 版本自动更新我的 AssemlyInfo.cs,它似乎工作正常,但我想在我的 git 标签中自动使用生成的数字(如果可能的话,也在我的 MyGet/NuGet 包中)

注意:我觉得这个问题的措辞很糟糕,但我已经重写了很多次,我只是觉得这里有一些我不明白的东西,这让我觉得这一切都很困惑.. .

0 投票
1 回答
622 浏览

tfs - GitVersion 使用描述符和自动递增版本号进行基于主干的开发

我正在 TFS 上实施 CI 流程。我想使用语义版本控制,语义版本控制应该自动递增。另外,我想使用“CI”、“beta”和“release”等描述符。

看起来 GitVersion 是一个合适的工具。但据了解,尤其是根据git分支生成的描述符。我们不使用 gitflow,我们使用基于主干的开发。

版本控制 nuget 包 GitVersion 文档

虽然只使用一个分支。是否仍然可以自动增加版本号并放置适当的描述符,例如 CI,“发布”。如果可能的话,一篇好的博客文章或分步教程将非常有帮助。

此外,如果您知道替代工具或如何在 TFS 上实现此类版本控制。这也会很有帮助。

0 投票
1 回答
1050 浏览

teamcity - 递减 GitVersion SemVer

我目前的 GitVersion 是 3.2.1,但前一段时间是错误的。

如何将版本降低到 2.2.1?

如果它很重要,我正在使用 TeamCity。

0 投票
1 回答
1193 浏览

msbuild - 包版本未在 VSTS 构建和 .net 标准下更新

我正在使用 VSTS-Build 和 GitVersion 构建一个 .net 标准组件。而且因为它的 .net 标准,我不得不使用“msbuild /t:pack”而不是 nuget pack 步骤。

这导致包版本号始终为 1.0.0,我认为这意味着未设置“PackageVersion”。GitVersion 文档说“当 UpdateVersionProperties 为真时设置了以下 MSBuild 属性”,但似乎没有这样的选项。

有谁知道如何让它工作?

编辑

项目文件:

在此处输入图像描述

我从工作构建定义中更改了两件事,禁用了 Nuget Pack 步骤,并在 Visual Studio 构建步骤中添加了“/t:pack”作为 msbuild 参数。

Nuspec 文件。

在此处输入图像描述