Useful filtering options of git log

Updated . Posted . Visible to the public.

Git log offers useful options for filtering. This card provides a short overview.

By message

Only commits that include a specific string in their commit message

git log --grep="tracker id"

By file

Only commits that introduced changes to a specific file

git log -- foo.rb bar.rb

Note

In case the file was renamed or moved the --follow option can be helpful

git log --follow -- foo.rb

By content

If you want to know when a specific line of code was added in the project

git log -S"def function_name"

By range

If you want to know which commits have been added between two commits.

git log base_branch..compare_branch will show you how many commits were added to compare_branch since base_branch.

By count

git log -n to show only the last n commits.

By date

  • You can also use git log --since 2023-02-17 to show only commits from that date until today.
  • If you want all the dates until a specific date, you can use git log --until 2021-01-19

Note

The --since and --until flags are synonymous with --after and --before, respectively.

  • You can combine both too: git log --after="2014-7-1" --before="2014-7-4"

You can use references like "2 years 1 day 3 minutes ago" and "yesterday": git log --after="yesterday"

Profile picture of Felix Eschey
Felix Eschey
Last edit
Florian Leinsinger
License
Source code in this card is licensed under the MIT License.
Posted by Felix Eschey to makandra dev (2023-08-16 12:47)