如何仅搜索 git 日志消息的第一行

问题描述 投票:0回答:1

在日常工作中,我们会针对特定主题对 git 存储库进行一些自动提交: “作业:同步

存在一个脚本,可以使用以下内容查找此类型的最新提交并提取

git log --pretty=format:"%s" --grep='Job: sync' -n 1 | awk '{print $3}'

当有人在提交消息正文中的某个位置(而不是消息的第一行)创建包含文本“Job:sync”的提交时,出现了问题。

事实证明

git log --grep=
搜索整条消息,而不仅仅是主题。

通过将

--grep='Job: sync'
更改为
--grep='^Job: sync'
(因此它仅匹配行的开头),问题已得到部分缓解。但理论上,有人可以创建一条也匹配新 grep 模式的提交消息。

我的问题: 如何最好地搜索 git 存储库中主题中包含特定文本(提交消息的第一行)的所有提交消息?

git git-log
1个回答
0
投票
git log --oneline | grep " Job: sync"

模式前的空格用于匹配提交 ID 后的模式。尝试

git log --oneline
查看其输出。

© www.soinside.com 2019 - 2024. All rights reserved.