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 properlyAlso asked about Git & collaboration
What is a branch in git?What is the difference between merge and rebase?How do you undo a commit that is already on the shared branch?How would you find which commit introduced a bug?Why not commit model weights to git?You pushed an API key to a public repository. What do you do?What is the difference between reset and revert?