git log Command Builder

Assemble a git log command from form inputs.

Open tool

Overview

Compose a git log invocation from form inputs - pretty format, date range, author filter, paths, branch range, and the popular display flags (--graph, --oneline, --stat). The output is a copy-ready command line that you can paste into your shell or save into an alias.

It's for developers who use git log enough to know it's powerful but not often enough to memorise every flag. Reach for it when building a release notes script, hunting for commits by a specific author in a time window, or inspecting a refactor's footprint across a set of paths.

How it works

The builder maps form fields to the corresponding git log flags documented in the Git reference manual: --author=, --since=, --until=, --grep=, --pretty=format:, --all, --graph, --no-merges, plus a positional <revision range> and -- <path> filter. Multi-value fields (multiple authors, multiple paths) are combined with whitespace separation as the CLI expects.

Special characters in values are quoted using POSIX shell rules so the command pastes safely. The output stays as a single line wherever possible for easier reuse as a shell alias.

Examples

  • Recent commits by an author:
    git log --author="alice" --since="2 weeks ago" --oneline
    
  • Graph of all branches:
    git log --all --graph --decorate --oneline
    
  • Commits touching a path between two tags:
    git log v1.0..v2.0 --no-merges -- src/auth/
    
  • Custom pretty format for changelog:
    git log --pretty=format:"%h %s (%an)" --since="2026-01-01"
    

FAQ

Why use --no-merges?

For release notes, you usually want the substantive commits, not the merge bubbles. --no-merges hides them.

What date formats does --since accept?

Anything git's approxidate parser understands: ISO dates (2026-01-01), relative phrases (2 weeks ago, yesterday), or natural language (last monday).

How do I see what files a commit touched?

Add --stat for a summary, --name-only for just paths, or -p for the full diff.

Can I limit log to a single file's history?

Yes - end with -- path/to/file. The -- disambiguates path from revision when names could collide.

Try git log Command Builder

An unhandled error has occurred. Reload ×