首页 > 解决方案 > Git:如何让日志仅显示与模式匹配的标签?

问题描述

当标签与特定模式匹配时,我试图在分支上列出标签和散列。

我有一个看起来像这样的命令:

git log develop --tags="develop*" --remove-empty --pretty="%h %D" --decorate=short --decorate-refs=tags

我假设上面将为我打印带有与模式匹配的标签的提交哈希列表"develop*"(例如develop_001)。但是我仍然收到带有与模式不匹配的标签(例如feature/*)的提交。我从我得到的输出中包含了一个快照:

git 日志输出

此外,有没有办法摆脱未标记的提交?

标签: gitgit-loggit-tag

解决方案


如果你想列出标签,那么不要使用git logwhich 列出提交。只需使用这样的列表标签:

git tag --format="%(objectname:short) %(refname:short)" --merged develop  "v18*"

这里--format为您提供哈希+标签输出,-merged develop将输出限制为作为develop分支祖先的标签,并v18*为匹配该模式的标签提供额外的过滤器。


推荐阅读