如何使用正则表达式搜索 Git 提交消息并将这些消息及其行号输出到文本文件

Posted

技术标签:

【中文标题】如何使用正则表达式搜索 Git 提交消息并将这些消息及其行号输出到文本文件【英文标题】:How to search Git commit messages with regular expression and output those messages & their line number to a text file 【发布时间】:2021-12-09 09:32:53 【问题描述】:

如何使用正则表达式在软件存储库中搜索 Git 提交消息(而不是差异)并将这些消息及其行号输出到文本文件?

【问题讨论】:

this 的潜在重复项? 类似,但我还需要输出行号和正则表达式搜索选项。 【参考方案1】:

您可以通过执行以下操作“grep”提交日志消息:

git log -E --grep="regex" --oneline >/tmp/results.txt

这将导致例如:

abcd1234 第一次提交包含正则表达式单词。 defg5679 另一个提交:regex 在这里找到。

我不确定您所说的行号是什么意思 - 如果您只想对文件中的每一行进行编号,您可以通过nl 传递结果来实现这一点:

git log -E --grep "foo" | nl -w 1 -s ' ' > /tmp/results.txt 

-w 1 左对齐数字,-s ' ' 在文本之前的数字后放置一个空格)。

【讨论】:

以上是关于如何使用正则表达式搜索 Git 提交消息并将这些消息及其行号输出到文本文件的主要内容,如果未能解决你的问题,请参考以下文章

如何通过提交消息搜索 Git 存储库?

如何搜索 git 提交记录

Git - 列出作者创建的文件

仅在提交时基于正则表达式的验证

git:如何获得提交的提交消息(确切地说)?

自定义 Git *Rebase* 提交消息模板