title: How to undo git branch and git commit
body: <p>I was woking on a  feature and it was getting late. I wanted to save my work to VCS. I should've used stash but I forgot about it. I didn't want to commit half-done feature, so I decided to create new local branch and save my work there. So I did <code>git branch newlocalbranch</code> and <code>git commit -m 'in the middle of task'</code>; But then I realized, that when I will merge this local-branch into my official feature-dedicated branch (with task id) that invalid commit would still appear in my feature branch. What I want now, is to go back in time to the point where I am in my feature branch with all these changes that I've made. I would then stash them and go home.</p>