我当前在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/

10-12 17:32