减少GitVersion SemVer

时间:2017-09-06 15:55:19

标签: teamcity gitversion

我目前在3.2.1中的GitVersion,但不久前就错了。

如何将版本减少到2.2.1?

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

1 个答案:

答案 0 :(得分:0)

这是一个有趣的问题......

它归结为,版本是如何/被断言的。例如,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

因此,断言的版本号只会在上面指定的日期之后作为提交的结果计算。