Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git log excluding certain committers [duplicate]

Tags:

git

At work we have a git repo where the majority of all commits are automated commits by a bot user. There are times when I prefer to view a git log from that repo, but without seeing the auto commits. I guess it could be described as an inverted "git log --author" or a "git log --exclude-author=botuser", if such as option had existed.

Currently I do the following, shortcuted to a bash alias.

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

My question is if there is a less hackish solution to what I want to accomplish?

like image 509
andol Avatar asked Jul 25 '26 06:07

andol


2 Answers

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

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

This worked for me.

If you don't want to specify --perl-regexp every time you can do:

git config --global grep.patternType perl
like image 180
quodlibetor Avatar answered Jul 27 '26 00:07

quodlibetor


Some other answers reference portions of this, but I had success in my repo using the tactic I saw here

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

You can add as many author patterns as needed. In my case, the best pattern was the full email, since it is known to be unique

like image 37
mateor Avatar answered Jul 26 '26 22:07

mateor



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!