获取*下一个*标签,如 git 描述但 "forwards"

Get *next* tag, like git describe but "forwards"

使用 git describe,我可以获得有关我当前提交所基于的最新标签的信息,以及我离它有多远。

我正在寻找一种方法,基于相同的信息,为 next 版本的 beta 版本构建语义版本号。换句话说,给定一棵树

A -- B -- C -- D
|              |
v1.2.3         HEAD

现在,git describe 可以给我 v1.2.3-4-D 之类的东西 - 但我如何得到 v1.2.4-betav1.3.0-beta 之类的东西(取决于我说的是哪个部分想增加)? git 中是否内置了一些工具来处理这个问题,还是我必须从 git describe 开始,然后将其传递给可以为我增加的其他东西?


提议的重复问题不能解决我的问题,因为它依赖于 git describe --contains,并且只有在 future 标签已经存在的情况下才有效。我正在寻找一种方法,根据前面的标签,推断即将发布的版本将是,只给出当前的回购状态以及应该递增的部分 (major/minor/patch)。

这些评论似乎表明这对于普通 git 命令是不可能的;因此,我使用 GitVersion 来解决我想要解决的问题(尽管使用磁盘上的一个小 yml 文件来存储有关版本的数据,而不是从 git describe 中派生)。