我当前在3.2.1中使用的GitVersion,但是前一段时间是错误地完成的。
如何将版本降低到2.2.1?
如果重要,我正在使用TeamCity。
最佳答案
这是个有趣的问题...
归结为,版本是如何被声明的。例如,done by mistake
到底是什么意思?
如果您的意思是错误地用3.2.1
标记了存储库,并且现在已经删除了该标记,那么它就像删除GitVersion创建的已声明版本号的缓存一样简单。可以在存储库中的.git\gitversion_cache
文件夹中找到它。删除代表您要针对其运行的提交的SHA的单个文件,或者删除整个文件夹。由于GitVersion需要时间来声明版本号,因此缓存声明的版本号确实很有用。但是,如果从配置的角度来看有什么变化,GitVersion可能会感到困惑并返回错误的版本号。
如果由于提交消息中的版本冲突而正在建立3.2.1
版本号,则可以让GitVersion忽略git历史记录中的特定提交。您可以在GitVersion.yml文件中看到此示例的实际应用:
https://github.com/cake-build/cake/blob/develop/GitVersion.yml#L15
例
ignore:
sha:
- 2a4757b270f7946122ba6622e3d2e72b2b2808a7
- 3e91c23637b97bc4e4c3234f93ffd03e6af70e8c
由于这些提交的提交消息,这是必需的:
https://github.com/cake-build/cake/commit/2a4757b270f7946122ba6622e3d2e72b2b2808a7
https://github.com/cake-build/cake/commit/3e91c23637b97bc4e4c3234f93ffd03e6af70e8c
提交消息中的版本号导致GitVersion错误地更改声明的版本号的位置。
如果您本质上想进行重置,然后再次启动GitVersion编号,则可以使用另一种技术来忽略特定日期之前的所有提交消息。在此处记录:
http://gitversion.readthedocs.io/en/latest/configuration/#commits-before
例
ignore:
commits-before: 2017-09-08T08:08:00
因此,声明的版本号将仅作为在上述指定日期之后提交的结果来计算。
关于teamcity - 递减GitVersion SemVer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46079631/