error: Pulling is not possible because you have unmerged files. means the previous pull or merge stopped on a conflict and the conflicted files are still not resolved. Fix the conflict markers, git add the files and git commit, or cancel with git merge --abort; pulling again before that keeps failing.

Run git status --short: files marked UU are the unmerged ones. A second pull does not help, because the first one is not finished yet.

The error

PS> 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.

Why it happens

A git pull is a fetch followed by a merge. When your commits and the remote's change the same lines, the merge stops halfway and writes conflict markers into the file:

PS> git pull
From C:/.../b-remote
   4e782c0..afe0f18  main       -> origin/main
Auto-merging price.txt
CONFLICT (content): Merge conflict in price.txt
Automatic merge failed; fix conflicts and then commit the result.
PS> git status --short
UU price.txt

Until every UU file is marked resolved, Git will not start another merge, and a pull is a merge, so it stops with the message above. People hit it when they miss the CONFLICT line, close the terminal, or run git pull again hoping the second try will go through.

The fix

Edit the file to the version you want, stage it, commit the merge.

PS> git add price.txt
PS> git commit --no-edit
[main 9932359] Merge branch 'main' of C:/.../b-remote
PS> git pull
Already up to date.

Or cancel the merge and return to your own last commit:

PS> git pull
error: Pulling is not possible because you have unmerged files.
...
PS> git merge --abort
PS> git status --short

Before git add, open the file and remove every <<<<<<<, ======= and >>>>>>> line, keeping the content you want. git merge --abort throws away the half-done merge and leaves the working tree clean, as the empty status shows. If you staged the resolution but did not commit, the next pull fails with a different message, "You have not concluded your merge (MERGE_HEAD exists)".

How it was reproduced

Git for Windows 2.45.2 on Windows 11, Windows PowerShell 5.1. A local bare repository served as the remote, with two clones (David Chen and Maria Garcia, fictional) and pull.rebase set to false in each clone. Both changed the same line of price.txt; David pushed first, Maria's pull conflicted, and her second pull exited with code 128. A commit of the resolution, and in a second round git merge --abort, each cleared it.

Frequently asked

How do I fix pulling is not possible because you have unmerged files?
Resolve the conflict markers in each file git status lists as UU, git add those files and git commit. Or run git merge --abort to cancel the merge. Then pull again.
How do I see which files are unmerged in git?
Run git status --short. Unmerged files are shown with UU in front of the path; git status without --short lists them under Unmerged paths.
Does git pull again fix unmerged files?
No. Every further pull fails with the same message until the conflicted files are resolved and committed, or the merge is aborted with git merge --abort.

More decoded errors in the Fixes category. For the staged-but-uncommitted state, see You have not concluded your merge.