Difference between git-log and git-whatchanged?

Alexander Bird picture Alexander Bird · Apr 5, 2012 · Viewed 13.2k times · Source
  1. Given this answer to another question, and
  2. given that the man pages for both git-log and git-whatchanged say they pull from git-rev-list...

...what then is the difference between the two commands? Why bother having both of them?

Answer

VonC picture VonC · Sep 3, 2013

The commit 52f425e1 (August, 30th 2013) mentions:

Encourage new users to use 'log' instead. These days, these commands are unified and just have different defaults.

'git log' only allowed you to view the log messages and no diffs when it was added in early June 2005. It was only in early April 2006 that the command learned to take diff options.
Because of this, power users tended to use 'whatchanged' that already existed since mid May 2005 and supported diff options.


That is what the new version of the man page for git whatchanged will say now:

New users are encouraged to use git log instead. The whatchanged command is essentially the same as git log but defaults to show the raw format diff output and to skip merges.

The command is kept primarily for historical reasons; fingers of many people who learned Git long before git log was invented by reading Linux kernel mailing list are trained to type it.

As torek comments, the git whatchanged equivalent would be:

git log --raw --no-merges

(That would avoid this question)