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.