I find the diagram on page 15 to get an overall feel/flow for basic git usage a very good diagram. If I'd still be teaching at a coding school I'd hand it out to my students.
"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".