我即将发布我的第一个 git 管理项目的第一个版本,并将使用带注释的标签(“第一个 alpha 版本”)对其进行标记。后来,为了找出第一个 alpha 版本,我想在标签注释的内容中搜索“first alpha”。我该怎么做?
我知道 git log --grep
会搜索提交消息的内容,git show
会告诉我标签注释的内容,但我想不通从联机帮助页或谷歌中取出什么命令将搜索标签注释。我是否必须转储存储标签注释的记录并使用其他工具进行搜索?我正在设想 git show $(git tag)|grep "first alpha"
并希望有更好的方法。
最佳答案
这确实使用了外部 grep
但似乎比解析 git show 的输出更优雅:
git 标签 -l -n | grep “第一个 alpha”
你会得到很好的输出:
test_1.2.3 第一个 alpha
注意 -n 标志,这里我假设您的注释只有一行。对于较长的消息,您需要在 -n 之后给出一个数字(比如 -n99),并且在 grep 标志方面会更加复杂。 https://www.kernel.org/pub/software/scm/git/docs/git-tag.html
搜索多行注释的一种方法是使用 gawk
(示例 bash
命令行显示):
git tag -l -n99 | gawk -v pat='<some regex>' -- '/^\S/ {tag=$1} $0~pat { print tag }'
/^\S/{tag=$1}
依次保存每个标签名,$0~pat {print tag}'
匹配时打印标签名找到了。
关于git - git中如何搜索标签注释的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31565447/