Progress:
TIER 2 · MODULE 28· Intermediate

git whatchanged

Like git log --raw with a different default. Mostly historical.

🎯 What & why

Older-style log output, kept for compatibility. It's git log --raw with a different default and a name from the pre-2.x era.

🧠 Mental model

whatchanged exists because that's what early Git users typed; modern Git redirects to log internals with --raw turned on by default. There is no reason to learn it as a new user.

🛠️ Synopsis

git whatchanged [<options>] [<revision-range>] [[--] <path>...]

Accepts essentially every option git log accepts. Differs from log only in
that it implies --raw and historically did not show merges by default.

🎚️ Switches & options

FlagWhat it does
-pShow patch (overrides the default --raw behavior).
--since=<date> / --until=<date>Time-bound the range.
--author=<pattern>Filter by author.
--no-mergesSkip merge commits (the historical default for whatchanged).
-- <path>...Limit to changes touching specific paths.

💡 Use cases

🧪 Examples

Equivalent of plain whatchanged
git log --raw --no-merges
Legacy invocation
git whatchanged
With patch
git whatchanged -p -- src/
Why you should not bother
git log --raw --since='2 weeks ago'

🎓 Recommendations

🪤 Common pitfalls

🔗 Related modules

📝 Quiz

Hit each option, then Check answers. Score is recorded; Next is always open.