我如何从当前工作树中删除未跟踪的本地文件 ?


当前回答

我感到惊讶的是,以前没有人提到这一点:

git clean -i

这代表着交互式互动您将快速了解要删除的内容, 以便您能够包含/ 排除受影响的文件。 总的来说, 仍然比执行强制任务要快--dry-run在真正的清洁之前。

你将不得不扔在-d如果您也想要处理空文件夹。最后,它会制作一个漂亮的别名:

git iclean

话虽如此,对有经验的用户来说,持有互动命令的手掌外握,可能会使有经验的用户感到疲劳。git clean -fd

其他回答

普通普通git clean命令不会用我的git version 2.9.0.windows.1.

$ git clean -fdx     # doesn't remove untracked files
$ git clean -fdx *   # Append star then it works!
git clean -f

将会从当前 git 中删除未跟踪的文件

git clean -fd

当您想要删除目录和文件时, 这将只删除未跟踪的目录和文件

(d) [-f] [-n] [-q] [-e] [-x -X] [-]...

-q, --quiet           do not print names of files removed
-n, --dry-run         dry run
-f, --force           force
-i, --interactive     interactive cleaning
-d                    remove whole directories
-e, --exclude <pattern>
                      add <pattern> to ignore rules
-x                    remove ignored files, too
-X                    remove only ignored files

git add --all, git stashgit stash drop,在此顺序中尝试这三个命令以删除所有未跟踪的文件。如果将所有这些未跟踪的文件添加到 Git 并隐藏它们,则所有未跟踪的文件都将移到隐藏列表中,并删除最上面的列表,即,隐藏%0}将从隐藏列表中删除隐藏的更改 。

我总是用这个:

git clean -fdx

对于一个非常大的项目,你也许想运行它几次。