git log --all --grep=<searchterm>

Display all commits across branches whose message contains a specified keyword.

By scanning the full history across all refs, this command lets you pinpoint commits whose messages contain a specific term.

It uses the --all flag to include commits from every branch and ref, and the --grep=<searchterm> filter to show only those commits whose message matches the given keyword or pattern, where <searchterm> can be a simple word or a more complex regex.

You can add -i (or --regexp-ignore-case) to ignore letter casing, stack multiple --grep flags to match several patterns, or use --invert-grep to exclude commits containing the term; closely related variations include git log --grep=<term> for current-branch searches only, git log -S<term> to look for term changes in diffs instead of messages, or git log -G<regex> to match changes by regex.

Examples:

  • git log --all --grep=fix
  • git log --all --grep="bug fix"
  • git log --all --grep="^feature"
Related commands

Welcome to GitExamples!

Sign in to enable bookmarking, reminders, progress-tracking and more...