В чем разница между следующими командами git?
git diff HEAD
git diff HEAD ^
git diff --cached
git diff --staged
git diff