git - Grep 功能与 Git 日志命令

标签 git gerrit

我需要使用 Git log 命令来提取 Commit Id,commit subject 其中 commit-body 包含一个特定的单词。我还需要只打印提交正文中包含该词的那些行。

使用下面的命令,我可以获得相关的提交 ID 和主题,但我看不到提交正文中包含单词“CRs-Fixed”的行。

git log --pretty=format:"%H,%s" AU_1..AU2 --no-merges --grep='CRs-Fixed'

如果我执行 git log --pretty=format:"%H,%s,%b"AU_1..AU2 --no-merges --grep='CRs-Fixed' , 我得到了整个提交体——我不需要。

关于如何仅获取所需信息的任何建议?

最佳答案

将标题行标记为 keepers:

git log --pretty=format:$'\001%H\n\001%s\n%b' --grep='CRs-Fixed' \
| sed $'/^\001\\|Crs-Fixed/s/^\001//'

关于git - Grep 功能与 Git 日志命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15958330/

相关文章:

git -/.git/hooks/: No such file or directory protocol error: expected control record on Mac osx

git - Gerrit 重新创建更改 ID

git - 你如何配置 Jenkins 使用 git archive 而不是 git clone 和 Gerrit?

git - 在 Ubuntu 中从源存储库升级 git

git - 在 git 存储库中移动大量大文件

git - git diff origin/master ... origin/branch 和 git diff origin/master...origin/branch 有什么区别?

linux - 为什么来自 github 存储库的 https 上的 "git pull"命令需要 "sudo"作为前缀?

git - Jenkins + Tomcat + Git + SSH 设置

git - merge 提交没有更改 ID?

git - 如何以管理员身份登录 Gerrit