git log can use git diff to display every change in history. git log is for displaying a set of revisions, potentially including the difference between each revision and its parent, and git diff used to display the difference between any two revisions in your repository.
git diff can also be used to display the differences between the current working copy and the staging area (also known as the "index") and is different between the staging area and the revision in your repository, usually HEAD, while git log will only show perfect code.
So they have a little overlap, but none of them are a subset of the other. git log uses git diff for some form of its display and thus has the same parameters as for setting how it calls git diff .
Brian campbell
source share