【发布时间】:2018-08-13 21:14:52
【问题描述】:
我想列出 git 标签以及它们指向的提交的日期(不是创建标签的日期)。我还想按原始提交的日期以相反的顺序对它们进行排序。
例如,我在 Aug 1、Aug 3 和 Aug 5 上创建了 3 个提交。 稍后我创建了 3 个指向这些提交的标签。所有标签都是在Aug 10 创建的,所以它们都有相同的日期。
我想要以下内容(按提交日期倒序排序):
tag-1.2 Aug 5
tag-1.1 Aug 3
tag-1.0 Aug 1
我尝试使用committerdate,但它似乎是空的,并且提交没有排序:
git for-each-ref --sort=-committerdate --format "%(tag) %(committerdate)" refs/tags
tag-1.0
tag-1.1
tag-1.2
taggerdate 有效,但它是创建标签的日期,而不是原始提交:
git for-each-ref --sort=-taggerdate --format "%(tag) %(taggerdate)" refs/tags
tag-1.2 Aug 10
tag-1.1 Aug 10
tag-1.0 Aug 10
【问题讨论】:
-
我试图重现您的第二次尝试(使用 committerdate),但奇怪的是我根本没有相同的输出。按提交日期排序很好,但标签名称不显示。我很想知道为什么。感谢您提出有趣的问题。
-
你确定你的语法吗?
--sort=-committerdate不应该是--sort=committerdate吗? (没有破折号)在format之后不是等号而不是空格吗?
标签: git