I have just started learning git. I have a confusion between the commands git diff --staged and git diff --cached. 
In old versions of git, the staging area was referred to as cache/stage area. Today it's being called index.
From the docs:
--stagedis a synonym of--cached.
Stage/cache/index are all synonyms for the staging area. It simply depends on the git version you use. It was changed to index along the way (and today it's called index), but there are still a few commands which use --cached, like git diff, git rm --cached, etc.

There is no difference between these two. From git diff docs:
--stagedis a synonym of--cached.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With