Git命令获取包含特定文本的文件的所有提交者列表

问题描述 投票:2回答:3

什么git命令获取包含特定文本的文件的所有提交者的列表。这可以可选地包括前/后参数。我面临的问题是,是否有任何特定的命令,或者我可以获取文件列表并将其传递给某些命令?

git git-log
3个回答
2
投票

让我们分两个阶段。第一个让我们得到文件列表:

files=`git grep -l "searh string"`

让列表让我们列出所有触摸文件的提交,获取每次提交的作者姓名/电子邮件,对作者列表进行排序,只打印唯一的名称/电子邮件。

git log --format='%an <%ae>' -- $files | sort -u

将两个命令合并为一个:

git log --all --format='%an <%ae>' -- `git grep -l "search string"` | sort -u

3
投票

可能是一些东西

git log --all -S "the string you search for" --pretty='%cn%n'

细节 :

-S过滤器使用以下参数中给出的字符串进行提交

%cn打印提交者名称

%n只是一个新的路线


2
投票

尝试使用此命令为包含特定文本的文件提供所有提交者名称和电子邮件:

    git log -S "search string" --stat --pretty=format:"%cn -%ce (%cd)"
© www.soinside.com 2019 - 2024. All rights reserved.