How do I show the changes which have been staged?
It should just be: –cached means show the changes in the cache/index (i.e. staged changes) against the current HEAD. –staged is a synonym for –cached. –staged and –cached does not point to HEAD, just difference with respect to HEAD. If you cherry pick what to commit using git add –patch (or git add -p), –staged will return what is staged.