Asked about Git as you actually use it

What is the difference between git reset --soft, --mixed and --hard?

An answer that works

All three move the current branch to the commit you name. Soft leaves your files and the staging area alone, so the changes from the undone commits are staged and ready to recommit. Mixed, the default, leaves your files alone but unstages. Hard overwrites your files from the commit, and is the only one of the three that can destroy work that was never committed.

Reading an answer is not being able to give one. The section that teaches this is Git as you actually use it, 5 hours of Git & collaboration.

Learn this properly