git diff [options] [<commit>] [--] [<path>…]
git diff [options] --cached [<commit>] [--] [<path>…]
git diff [options] <commit> <commit> [--] [<path>…]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>
Show differences in working branch
Show changes between two commits
Show differences for staged files
Show both staged and unstaged changes
Show differences for a specific file or directory
Viewing a word-diff for long lines
Show difference between two commits or branches
Show differences between current version and last version
Produce a diff compatible with patch command
Using meld to see all modifications in the working directory