On undoing, fixing, or removing commits in git