Git 切换分支时提示有未提交的更改怎么办?

清梅的笔记 阅读 3

我正在开发一个新功能,刚改了几行代码还没 commit,想切回 main 分支看个东西,结果 Git 报错不让切,说本地有修改会覆盖。

我试过 git stash 但好像没生效,还是切不过去,现在卡在这儿了。这些改动又不想直接 commit,有啥稳妥的办法能先切换分支吗?

我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
鑫玉
鑫玉 Lv1
遇到这种情况确实挺烦人的。首先,确保你的工作目录干净一点,检查一下哪些文件被修改了,可以运行 git status 看看。

如果你确定不想提交这些更改,也不想丢失它们,但又需要切换分支,可以试试 git stash push,有时候 git stash 默认可能只会暂存已跟踪的文件,而 git stash push 更明确一些。如果你还有新增的文件,可以加上 -u 参数来暂存所有更改,命令是 git stash push -u

如果 stash 确实没生效,可能是之前有 stash 没有 pop 或 apply,你可以先用 git stash list 查看一下是否有未应用的 stash,有的话可以用 git stash popgit stash apply 来恢复。

最后,切换分支应该没问题了,用 git checkout main 就可以了。

记得转义特殊字符,虽然在这个场景下不太相关,但养成好习惯总是好的。希望这些步骤能帮到你,解决这个问题。
点赞
2026-03-21 17:12