What are the differences between the following git commands?
git diff HEADgit diff HEAD^git diff --cached>
From the Git Community Book:
git diff
will show you changes in the working directory that are not yet staged for the next commit.
git diff --cached
will show you the difference between the index and your last commit; what you would be committing if you run "git commit" without the "-a" option.
git diff HEAD
shows changes in the working directory since your last commit; what you would be committing if you run "git commit -a".