Isn't a bit off? It shows "git diff" as a diff between staging and workspace when it should be between workspace and local repo.
"git diff --cached" = staging vs. HEAD
"git diff" = workspace vs. staging (but when nothing is staged, staging == HEAD)
(I think?)
I skimmed over git diff, as when I use git diff I constantly re-figure out for what it precisely applies again. I just care to remember "it diffs".