Команда Git для получения списка всех коммиттеров в файлах, содержащих определенный текст - PullRequest
0 голосов
/ 20 февраля 2019

Какая команда git возвращает список всех коммиттеров в файлы, содержащие определенный текст.Это может дополнительно включать параметр до / после.Проблема, с которой я сталкиваюсь, заключается в том, есть ли какая-то конкретная команда для этого, или я могу получить список файлов и передать его какой-то команде?

Ответы [ 3 ]

0 голосов
/ 20 февраля 2019

Попробуйте эту команду, чтобы получить имена всех коммиттеров и электронные письма для файлов, содержащих определенный текст:

    git log -S "search string" --stat --pretty=format:"%cn -%ce (%cd)"
0 голосов
/ 20 февраля 2019

Позвольте сделать это в два этапа.Сначала давайте получим список файлов:

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
0 голосов
/ 20 февраля 2019

вероятно что-то вроде

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

Подробности:

-S фильтры фиксируют, используя строку, заданную в следующем параметре

%cnвыводит имя коммиттера

%n это просто новая строка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...