假设我有以下查询:
这假定了一个类似于git注释的东西。
git log -100 -i --grep="^\[.*JIRA.*\]"
这假定了一个类似于git注释的东西。
"[JIRA1234] Adding the graph to the customer balance page"
我希望将输出格式化,只显示与之匹配的组,例如[JIRA1234]
。
现在我认为我应该能够使用以下方法实现:
git log -100 -i --grep="^\[.*JIRA.*\]" --pretty="%1"
但是那样做行不通。
另一种方法是通过管道传输到grep中。
git log -100 -i --grep="^\[.*JIRA.*\]" --pretty=oneline | grep -o '\[.*JIRA.*'
但是这样你就失去了使用 git log --pretty
命令添加作者名称和其他技巧的能力。
我的问题是:你是否可以在 git pretty 输出中放置 git log 正则匹配组?
--pretty=oneline
忽略提交日志消息正文,仅显示主题。此外,您的示例可能会匹配多个模式。 - ElpieKay--pretty
格式只是%H
时,你最好直接使用git rev-list
(git log
和git rev-list
接受相同的选项,因为它们在源代码方面几乎只是一个命令)。(我现在更喜欢使用--no-walk
而不是-1
,尽管这实际上拼写更长 :-) 并且性能基本相同。) - torek