I would leave off the --soft
in the other two answers and go with a simple git reset @^
(or git reset HEAD^
in older versions of git), which will default to git reset --mixed @^
. The difference is that a soft reset leaves the files staged for commit, which is not what it sounds like you want to do. If you really want to undo the commit, you should also probably unstage the changes, which is what the default does. I find this much more useful in the general case than a soft reset, which is probably why mixed is the default.