Suppose this is like a piece of code that I'm adding to the repository. This is version 1. I'm adding stuff. Lots of stuff. just piling it in. Suppose I make a mistake during some commit? git reset --soft HEAD~1 isn't really undoing the addition of the mistake line?