使用Git stash失败,未完成修改时如何切换分支不丢更改?
Git Stash暂存失败的解决办法
先排查问题根源
- 查看
git status输出,确认是否存在标有Untracked files的新文件——Git stash默认仅暂存已被Git追踪的文件,未添加到Git的新文件不会被自动暂存。 - 检查是否修改了
.gitignore中标记的文件,这类文件默认也不会被stash处理。 - 确认是否存在未解决的代码冲突,若之前的合并、变基操作遗留了冲突未处理,stash命令会执行失败。
对应解决操作
- 暂存所有文件(含未追踪文件):执行
git stash push -u;若需要连.gitignore中的文件一起暂存,用git stash push -a。 - 仅暂存特定文件:执行
git stash push <文件路径>,例如git stash push src/components/Header.vue。 - 因冲突导致失败:先手动解决文件中的冲突标记,再重新执行stash命令。
验证暂存结果
执行完stash命令后,用git stash list查看是否新增了stash记录,再通过git status确认工作区是否恢复干净状态。
内容的提问来源于stack exchange,提问作者Simon Shvets
相关产品推荐
相关产品推荐

