Yeah, "undo the last thing I did" - There is no button / single command (as far as I know) - you google and get loads of "if this, do this, else this" - dang, I just want to undo and get on with what I need to do!
If the last thing you did was stage, do you want to unstage, or undo the last change outside the staging area?
If undoing the last thing you did is not compatible with the current state of the working copy, what happens?
If your last change was to discard or apply uncommitted changes, how can that be undone? If the answer is "do lots of hidden commits", how does that interact with undo?