这条提示通常出现在你准备切换分支(git checkout / git switch)或拉取更新(git pull)之前,Git 发现“工作树”里有未处理的改动,怕切换后内容被覆盖或冲突。
一句话:要么把改动“收”起来,要么先“丢”掉,再签出。下面给 3 种常见场景,按需要抄即可。


  1. 想保留改动,只是暂时切换分支把当前改动“存抽屉”:

    git stash push -m "临时保存"

    然后随便 checkout;等你回来再:

    git stash pop

    改动原样恢复。

  2. 改动都不要了,直接丢弃危险但干净,不可恢复:

    git reset --hard HEAD        # 撤销已跟踪文件的修改
    git clean -fd                # 删掉新增未跟踪的文件/夹

    工作树瞬间变干净,再 checkout 就不会报错。

  3. 改动很重要,先提交再去别的分支

    git add .
    git commit -m "WIP: xxx功能未完成"

    提交完再切换;等后续继续开发即可。


30 秒自检清单

git status                     # 看看到底哪些文件“脏”了
git stash list                 # 确认已有哪些“抽屉”

按上面 3 选 1,清理完再 git checkout <目标分支>,提示自然消失。

最后修改:2025 年 12 月 29 日
如果觉得我的文章对你有用,请随意赞赏