Git pull error: pull is not possible because you have unmerged files

The following errors occurred during Git pull:

error: Pulling is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

Local pushes and merges form merge-head (FETCH-HEAD) and HEAD(push -HEAD) references. A HEAD represents a local reference that has been formed after a recent successful push. Merge-head represents a reference formed after a successful local pull. We can use merge-head or HEAD to achieve a similar effect to SVN Revet.

To solve

    flushes out local conflicting files, requiring not only a merge-head or HEAD reset, but also a -hard reset. The local workspace will not be flushed without the following hard. It just overwhelms the stage.
git reset --hard FETCH_HEAD
    then executes the following command, and it will succeed.
git pull

Read More: