эквивалентность: git log --exclude-author? - PullRequest
28 голосов
/ 31 июля 2011

На работе у нас есть git-репо, где большинство всех коммитов - это автоматические коммиты от пользователя бота. Бывают моменты, когда я предпочитаю просматривать журнал git из этого репозитория, но не вижу автоматических фиксаций. Я предполагаю, что это можно описать как инвертированный «git log --author» или «git log --exclude-author = botuser», если такая опция существовала.

В настоящее время я делаю следующее, ярлык для псевдонима bash.

git log --format="%H %aE" | grep -v -F botuser@domain | while read hash email; do git log -1 $hash; echo; done | less

У меня вопрос: есть ли менее хакерское решение для того, чего я хочу достичь?

Ответы [ 4 ]

36 голосов
/ 03 декабря 2013

С https://coderwall.com/p/tzdzwa:

git log --perl-regexp --author='^((?!excluded-author-regex).*)$'

Это сработало для меня.

Если вы не хотите каждый раз указывать --perl-regexp:

git config --global grep.patternType perl
17 голосов
/ 31 июля 2011

В настоящее время нет, хотя , кажется, было некоторое обсуждение о поддержке опции -v в будущем или о том, как заставить текущий git log --not работать на --author, --committer и * 1007.*.

См. Также: Как инвертировать git log --grep шаблон .

6 голосов
/ 05 декабря 2018

Некоторые другие ответы ссылаются на некоторые части этого, но у меня был успех в моем репо с использованием тактики, которую я видел здесь

 git log --invert-grep --author=<pattern>

Вы можете добавить столько паттернов автора, сколько необходимо.В моем случае лучшим шаблоном была полная электронная почта, поскольку она известна как уникальная

0 голосов
/ 31 июля 2011

Да, это возможно. Вам нужно изменить файл .gitconfig на нужный вам формат. Пожалуйста, посмотрите раздел «Pretty format» в git log man page.

Другая ссылка: раздел «Пользовательский формат» в здесь .

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