Git stash-pop-conflict Reapplying a stash hit conflicts, and the stash entry was deliberately kept.
Reviewed for reference consistency: August 11, 2026
Code is Safe
SECUREGit has paused the operation to protect your code. No data has been lost or corrupted.
What To Know
Where Did It Fail?
Commands That Trigger This
Technical Background
Unlike a plain pop that drops after success, the conflicted apply behaves like a small merge between the stash's parent commit, the current tree, and the stash itself. The conflict markers carry the labels 'Updated upstream' and 'Stashed changes', so the two sides stay identifiable inside the file.
The entry surviving is a documented safety property, not a leftover: applying with conflicts does not remove the stash, and the working copy confirms it with the line 'The stash entry is kept in case you need it again.'
Once the files are settled and staged, the entry must be dropped manually — the cleanup half never runs after a conflict, so a repeated pop would try to apply the same snapshot a second time.
Underlying Causes
Frequently Asked Questions
Yes. The entry survived the first conflict, so a repeated pop tries to reapply the same snapshot; drop it once the resolution is staged instead.
'Updated upstream' marks the current branch's content and 'Stashed changes' marks the restored snapshot; with the diff3 conflict style a 'Stash base' section shows the common ancestor.
It applies the stash onto the commit where the stash was originally created, which sidesteps conflicts caused by the branch having moved on.
Related Git States
Git paused the merge because it cannot automatically resolve overlapping changes.
Git stopped a rebase or cherry-pick because the commit conflicts with your current code.
Stash application failed while copying the stash's untracked files back out.
You have unresolved file conflicts preventing Git from completing the current operation.