There are lots of hidden step between all your commands sir, and you perfecly know it.
Now, start removing files from your "git add ."
Or switch branches without losing your change.
Or rebasing.
I never said it wasn't possible, neither hard. But, the interface (read CLI) still sucks.