First I merge sth, then conflicts occurs, so I git merge --abort, but failed, I have to do git status first, then git merge --abort su
git merge --abort
git status
Is anything I'm doing wrong?
No: the git merge --abort should have worked, without having to run git status first. Report a bug for whichever Git version you are using. Edit: 1.8.3.1 is positively ancient. You should upgrade if possible.