git
runtime_error
ai_generated
true
error: Your local changes to the following files would be overwritten by merge: file.txt Please commit your changes or stash them before you merge.
ID: git/stash-conflict-on-pop
85%Fix Rate
85%Confidence
1Evidence
2023-08-22First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| git 2.20 | active | — | — | — |
| git 2.35 | active | — | — | — |
| git 2.42 | active | — | — | — |
Root Cause
Running 'git stash pop' when the working directory has uncommitted changes that conflict with the stashed changes.
generic中文
在工作目录有未提交的更改且与 stash 中的更改冲突时运行 'git stash pop'。
Official Documentation
https://git-scm.com/docs/git-stash#Documentation/git-stash.txt-popWorkarounds
-
85% success First, commit or stash the local changes: git stash push -m 'temp' (or git commit -m 'temp'). Then pop the original stash: git stash pop stash@{1} (adjust index). Finally, restore the temporary stash if needed: git stash pop stash@{0}.
First, commit or stash the local changes: git stash push -m 'temp' (or git commit -m 'temp'). Then pop the original stash: git stash pop stash@{1} (adjust index). Finally, restore the temporary stash if needed: git stash pop stash@{0}. -
90% success Use 'git stash branch' to create a new branch from the stash, which avoids conflicts: git stash branch new-branch stash@{0}
Use 'git stash branch' to create a new branch from the stash, which avoids conflicts: git stash branch new-branch stash@{0}
中文步骤
First, commit or stash the local changes: git stash push -m 'temp' (or git commit -m 'temp'). Then pop the original stash: git stash pop stash@{1} (adjust index). Finally, restore the temporary stash if needed: git stash pop stash@{0}.Use 'git stash branch' to create a new branch from the stash, which avoids conflicts: git stash branch new-branch stash@{0}
Dead Ends
Common approaches that don't work:
-
100% fail
Git stash does not have a force option; the error persists because the conflict is not resolved.
-
50% fail
This loses the local changes permanently without any recovery option.