Git:如何让日志只显示与模式匹配的标签?

标签 git git-log git-tag

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

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

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

我假设上面的内容会为我打印一个提交哈希列表,其中的标签与模式 “develop*” 相匹配(例如 develop_001)。但我仍然收到带有与模式不匹配的标签的提交(例如 feature/*)。我包括了我得到的输出的快照:

git log output

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

最佳答案

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

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

此处 --format 为您提供哈希+标签输出,-merged develop 将输出限制为 develop 分支的祖先标签v18* 是一个额外的过滤器,用于匹配该模式的标签。

关于Git:如何让日志只显示与模式匹配的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52901273/

相关文章:

git - 查看 merge 提交的补丁

git log 命令不显示 HEAD 信息

git - .gitignore 白名单 * 无法正常工作

git - 使用 Visual Studio 2017 克隆 TFS Git 存储库时出现错误 400

git - 如何获取从分支上的最后一次提交算起过去 3 个月内完成的 Git 提交?

git - 由于特殊字符 "Ã",无法删除 GIT 标签

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

git - 如何重置 git 存储库(包括被忽略的文件)?

git - 如何将当前分支的文件与 VsCode 中给定提交的文件进行比较?

git - 如何使用ansible playbook从本地机器添加/更新git标签?