Это работает как для git log
, так и для gitk
- 2 самых распространенных способа просмотра истории.Вам не нужно использовать полное имя.
git log --author="Jon"
будет соответствовать коммиту, сделанному "Джонатаном Смитом" *
git log --author=Jon
и
git log --author=Smith
будеттакже работа.Кавычки необязательны, если вам не нужны пробелы.
Добавьте --all
, если вы хотите искать все ветви, а не только предков текущего коммита в вашем репо.
Вы также можете легко сопоставить несколько авторов, поскольку регулярное выражение является основным механизмом для этого фильтра.Таким образом, чтобы составить список коммитов Джонатана или Адама, вы можете сделать следующее:
git log --author="\(Adam\)\|\(Jon\)"
Чтобы исключить коммиты определенного автора или набора авторов, использующие регулярные выражения, как отмечено в этом вопросе , вы можете использовать отрицательный прогноз в сочетании с переключателем --perl-regexp
:
git log --author='^(?!Adam|Jon).*$' --perl-regexp
В качестве альтернативы, вы можете исключить коммиты, созданные Адамом, используя bash
и трубопровод:
git log --format='%H %an' |
grep -v Adam |
cut -d ' ' -f1 |
xargs -n1 git log -1
Если вы хотите исключить коммиты, принятые (но не обязательно созданные) Адамом, замените %an
на %cn
.Подробнее об этом в моем блоге здесь: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/