从给定标签中获取最后 git 个标签

Get last git tag from a given tag

给定一个 git 标签(例如 v.0.1.0),我想要一个 bash 命令,它将给我以前的时间顺序标签(例如 v.0.0.5)。在这里,我使用 semver 进行版本控制,您可以看到我不能只减少数字。我需要给回购协议的前一个最后一个标签。想法?

我试过 git describe --tags 并且它给了我最后一个标签 kindof。但没什么特别的。

有几种解决方案可以按时间顺序列出您的标签。我经常使用的是:

git for-each-ref --sort=authordate --format '%(refname) %(authordate)' refs/tags

如果您所有的标签都是 "lightweight" 标签,这会很好地工作。如果您所有的标签都是带注释的标签,请使用 taggerdate 而不是 authordate。将您的标签按时间顺序列出后,应该很容易按时间顺序在任何其他给定标签之前找到该标签。

另请参阅:

  • How can I list all tags in my Git repository by the date they were created?
  • git command to show all (lightweight) tags creation dates
  • `git tag` sorted in chronological order of the date of the commit pointed to