Подтвердить что ты не робот

Эквивалентность: git log --exclude-author?

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

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

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

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

4b9b3361

Ответ 1

Из https://coderwall.com/p/tzdzwa:

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

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

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

git config --global grep.patternType perl

Ответ 3

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

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

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

Ответ 4

Да, это возможно. Вам нужно изменить свой файл .gitconfig в нужном вам формате. Ознакомьтесь с разделом "Pretty format" в git log странице руководства.

Еще одна ссылка: раздел "Пользовательский формат" в здесь.