显示按日期排序的 git 标签

问题描述 投票:0回答:7

如何按时间顺序列出git标签? (首先是最近的标签)

git tag
仅显示字母顺序。

git git-tag
7个回答
40
投票

正确答案是:

git tag --sort=-taggerdate

taggerdate
是适当的字段。根据 git tag 手册页

前缀

-
按值的降序排序。

git tag
使用与
git-for-each-ref
相同的排序键,这是记录排序键的位置。


19
投票

简单易记:

git log --tags --decorate --simplify-by-decoration

更容易阅读结果:

git log --tags --simplify-by-decoration --pretty="format:%d - %cr"

19
投票

在 git 2.3.3 中,我可以这样做来让它们按日期排序:

git tag --sort version:refname

2
投票

使用

git tag
排序时支持的类型有:

  • refname
    - 按字典顺序排序
  • version:refname
    v:refname
    - 根据版本排序

问题的解决方案如下所示:

git tag -l --sort version:refname

还有很多与 git tagging 相关的有用命令,请务必查看这篇文章以了解更多详细信息。


0
投票

git tag --sort=-creatordate
根据创建时间按时间倒序显示标签列表。这正是我需要的。 (
taggerdate
是不同的顺序,不是我想要的。)


-1
投票

我发现有一个很好的单行文字,它将显示日期标签消息、标签作者,并且在列安排方面做得很好。

git for-each-ref --sort=taggerdate --format '%(tag)_,,,_%(taggerdate:raw)_,,,_%(taggername)_,,,_%(subject)' refs/tags \
 | awk 'BEGIN { FS = "_,,,_"  } ; { t=strftime("%Y-%m-%d  %H:%M",$2); printf "%-20s %-18s %-25s %s\n", t, $1, $4, $3  }'

输出将如下所示:

...
2015-08-03  10:56     v1.51              Release v1.51             FirstName LastName
2015-08-10  16:12     v1.52              Release v1.52             Jane Doe

归功于此网站


-4
投票

试试这个

 git log --tags --decorate --simplify-by-decoration | grep ^commit|grep tag|sed -e 's/^.*: //' -e 's/)$//'
© www.soinside.com 2019 - 2024. All rights reserved.