nau*_*101 1 git git-log git-tag
列出带有注释的所有标签似乎很容易,例如:
git tag -n99
Run Code Online (Sandbox Code Playgroud)
或者
git for-each-ref --format '%(refname:short) %(contents)' refs/tags
Run Code Online (Sandbox Code Playgroud)
也可以用于git log按创建者日期列出标签,例如(来自此处):
git log --tags --simplify-by-decoration --pretty="format:%cs %d"
Run Code Online (Sandbox Code Playgroud)
然而,这些都没有回答问题,因为据我所知:
git tag,因为标签指向标签注释对象,因此committerdate为空。您可以通过以下方式确认这一点git tag --format='%(committerdate)'
creatordate提交日期,以及带注释提交的标签创建日期,这对于这个问题来说也是无用的。git log,因为格式化程序中没有标签注释选项(而且这无论如何都没有意义,因为单个提交可以有多个标签。那么,有没有一种方法可以列出所有标签,按提交日期排序,并显示提交日期和注释?我不关心这个问题的未注释标签。
答案在文档中
如果 fieldname 以星号 (*) 为前缀并且 ref 指向标记对象,则使用标记对象引用的对象中的字段值(而不是标记对象中的字段)。
要显示提交者日期,请使用%(*committerdate)。例如,
git for-each-ref refs/tags --format="%(*committerdate:iso) %(contents:subject) %(refname:short)" --sort=*committerdate
Run Code Online (Sandbox Code Playgroud)
要反转结果,请使用--sort=-*committerdate相反。它也很容易使用sort或sort -r。
| 归档时间: |
|
| 查看次数: |
516 次 |
| 最近记录: |