推荐命令(彻底清理):

  1. git fetch origin
  2. git reset --hard origin/<你的分支名>
  3. git clean -fd

解释:

  1. git fetch origin
    确保你获取到远程最新的提交记录(不影响本地)。

  2. git reset --hard origin/<分支名>
    把当前分支的 HEAD、工作区、索引区(staging area)全部强制重置到远程分支的状态。
    例如你的分支是 main

    1. git reset --hard origin/main
  3. git clean -fd
    删除所有未被 Git 跟踪的新文件和新文件夹(即你没有 git add 的文件)。

    • -f:强制删除
    • -d:删除目录

完整示例(假设你在 main 分支):

  1. git fetch origin
  2. git reset --hard origin/main
  3. git clean -fd

补充说明:

  • 如果你不确定当前分支名,先运行:

    1. git branch

    当前分支会有 * 标记。

  • 如果你只想清理未跟踪的文件,但保留已 add 的修改,可以只运行:

    1. git clean -fd
  • 如果你不小心 add 了一些文件,想一起丢弃:

    1. git reset --hard HEAD # 丢弃已 add 的修改
    2. git clean -fd # 丢弃未跟踪文件

安全提示:

> git reset --hardgit clean -fd 不可逆,会永久删除未提交的修改和新文件!
> 请确认你真的不需要这些新文件。


执行完后,你的工作区就完全恢复到上一次 pull 的状态,新文件全部消失。