git log
can use git diff
to display each change in the history. git log
is for displaying a set of revisions, potentially including the diff between each revision and its parent, while git diff
is used for displaying the difference between any two revisions in your repository.
git diff
can also be used to display diffs between the current working copy and the staging area (also known as the "index"), and diffs between the staging area and a revision in your repository, usually HEAD, while git log
will only ever show committed code.
So, they do have a bit of overlap, but neither one is a subset of the other. git log
uses git diff
for some forms of its display, and thus has the same options for setting how it calls git diff
.