Git Reset Explained: When to Use --soft, --mixed, and --hard
This guide walks through Git's reset command, detailing the differences between --soft, --mixed, and --hard modes, when each is appropriate, and how they affect commits, the index, and the working tree for commits that haven't been pushed.
