一种查看最新发行标签的方法。
我在git describe
上走了很短的路,但是我找不到如何使它在所有ref上都起作用(从所有分支获取标签)。我还简要地看过show-refs
,for-each-ref
和rev-list
,但不能完全按照我的意愿来做。
目前,我使用它来列出所有从v
开始的标签,并根据refname对其进行降序排列:
git tag -l v* --sort=-v:refname
给出的输出类似于
v2.0.32
v2.0.31
v2.0.29
v2.0.28
v2.0.27
v2.0.26
v2.0.25
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
...
这一切都很好,除了太多了。我想使用一些限制器参数,但似乎找不到任何东西来限制输出。
答案 0 :(得分:2)
所以我在写这个问题时找到了解决方案:
git tag -l 'v*' --sort=-v:refname | sed -n 1,5p
管道sed
命令将仅打印第1至5行。
我在git v
下将其别名为git config alias "tag -l 'v*' --sort=-v:refname | sed -n 1,5p"
,该别名已更改为
git config alias.v "! git tag -l 'v*' --sort=-v:refname | sed -n 1,5p"
请注意前面的!
,它告诉git将其解释为外部命令(这就是为什么我们还添加git
的原因,您通常不使用git别名开头)允许我们通过管道传递内容,而不仅仅是执行git命令。
编辑,来自@LeGEC,在以下注释中: 可以使用
代替sed -n 1,5p
head -5
指定范围,可以说更直观。