这条提示通常出现在你准备切换分支(git checkout / git switch)或拉取更新(git pull)之前,Git 发现“工作树”里有未处理的改动,怕切换后内容被覆盖或冲突。
一句话:要么把改动“收”起来,要么先“丢”掉,再签出。下面给 3 种常见场景,按需要抄即可。
想保留改动,只是暂时切换分支把当前改动“存抽屉”:
git stash push -m "临时保存"然后随便 checkout;等你回来再:
git stash pop改动原样恢复。
改动都不要了,直接丢弃危险但干净,不可恢复:
git reset --hard HEAD # 撤销已跟踪文件的修改 git clean -fd # 删掉新增未跟踪的文件/夹工作树瞬间变干净,再 checkout 就不会报错。
改动很重要,先提交再去别的分支
git add . git commit -m "WIP: xxx功能未完成"提交完再切换;等后续继续开发即可。
30 秒自检清单
git status # 看看到底哪些文件“脏”了
git stash list # 确认已有哪些“抽屉”按上面 3 选 1,清理完再 git checkout <目标分支>,提示自然消失。