git - 在 git 中,列出自某个标签以来的所有标签

标签 git git-tag git-rev-list

我使用标签来识别发布版本并识别任务的“开发完成”提交。执行 git tag 我得到如下列表。

> git tag
v0.1.0
task_1768
task_2011
task_1790
task_1341
v0.1.1
task_2043
task_2311
v0.1.2

假设所有标签都指向 master 分支上的提交,有没有办法列出自某个标签以来的所有标签?例如,要生成 v0.1.2 版本中包含的所有任务的列表——我正在寻找类似以下内容的内容(这不是实际命令)。

> git tag -l "task_*" --since v0.1.1

得到如下输出。

task_2043
task_2311

有没有办法用 git tag 做到这一点?

有没有办法用 git rev-list 做到这一点?

(或其他一些 git 命令?)

更新

根据回答和评论,以下是我目前正在使用的内容。

> git log v0.1.1.. --decorate | grep -Eow 'tag: ([a-zA-Z0-9.-_]*)' | awk '{ print substr($0, 6); }'
task_2043
task_2311
v0.1.2

> git log v0.1.1.. --decorate | grep -Eow 'tag: ([a-zA-Z0-9.-_]*)' | awk '{ print substr($0, 6); }' | grep -Eo 'task_.*'
task_2043
task_2311

第二次更新

新选择的答案。这正是我最初想要的。优雅得多。

> git tag --contains v0.1.1
v0.1.1
task_2043
task_2311
v0.1.2

> git tag --contains v0.1.1 | grep -Eo 'task_.*'
task_2043
task_2311

最佳答案

git tag --contains v0.1.1 将向您显示包含给定标签的所有标签——即您可以从中追溯历史并到达给定标签的标签。

关于git - 在 git 中,列出自某个标签以来的所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14248705/

相关文章:

ruby-on-rails - 无法推送 heroku

当标签已经存在于远程时​​,Git 强制推送标签

git - 如何在给定标签处添加浅 git 子模块

git - 获取 2 个指定提交哈希值之间的提交哈希值

git - 列出master后面的所有远程分支

git - EGit:为什么是 "Local branch as upstream is not recommended"?

c++ - 将 Git 提交哈希读入 C++ 时出错

没有密码的 Git 私有(private)仓库

带标签的 Git 子目录过滤器

git - 如何在git中找到两个提交的最老的共同后代?