显示按日期排序的git标签

时间:2014-01-28 19:15:19

标签: git git-tag

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

git tag仅显示字母顺序。

6 个答案:

答案 0 :(得分:15)

正确答案是:

git tag --sort=-taggerdate

taggerdate是适当的字段。根据{{​​3}}:

  

前缀-按值的降序排序。

git tag man page使用与git tag相同的排序键,这是记录排序键的位置。

答案 1 :(得分:14)

在git 2.3.3中我可以这样做以按日期排序:

git tag --sort version:refname

答案 2 :(得分:9)

简单易记:

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

更容易阅读结果:

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

答案 3 :(得分:0)

我发现有一个很好的单线程,它会显示日期标记信息,标记作者并且在列安排方面做得很好。

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

归功于此site

答案 4 :(得分:0)

使用fastcgi_param REMOTE_USER $http_X_User; 进行排序时支持的类型是:

  • git tag - 按字典顺序排序
  • refnameversion:refname - 根据版本
  • 进行排序

问题的解决方案如下:v:refname

还有许多与git标记相关的有用命令,请务必查看this article以获取更多详细信息。

答案 5 :(得分:-2)

试试这个

 git log --tags --decorate --simplify-by-decoration | grep ^commit|grep tag|sed -e 's/^.*: //' -e 's/)$//'