Git Undo Commit And Keep The Commandments