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


当前回答

好吧,删除不需要的未追踪文件和文件夹是容易使用 git 在命令行,只是这样做:

git clean -fd

在做之前双检查,因为它会删除文件和文件夹,而不会创建任何历史。

所以,如果你只想删除文件,你只能使用 -f:

git clean -f

如果您想要删除(目录)和文件,您只能删除未追踪的目录和文件如下:

git clean -fd

并添加 -i 旗帜,使 git 请求您的许可,以便在行程中单独删除文件。

如果您不确定,并希望先检查事物,请添加 -n 旗帜。

使用 -q 如果您不希望在成功删除后看到任何报告。

我也创建下面的图像,使它更令人难忘,特别是我已经看到许多人混淆 -f 为清洁文件夹有时或混合它在某种程度上!


其他回答

删除未追踪的文件的简单方法

要删除所有未追踪的文件,简单的方式是先添加所有文件并重新设置下面的复制文件。

git add --all
git reset --hard HEAD

git-clean 是你正在寻找的,它被用来从工作树中删除未追踪的文件。

我喜欢使用 git stash 命令,以后你可以得到 stashed 文件和更改. git clean 也是一个很好的选择,但完全取决于你的要求. 这里是 git stash 和 git clean 的解释,7.3 Git 工具 - Stashing 和 Cleaning

我已经失败了使用最受欢迎的答案在这里 - git 不会从存储库中删除未追踪的文件,无论如何. 不知道为什么. 这是我的超简单的答案,没有特殊的 GIT 命令!

任务:从 git 存储库中删除未追踪的文件:

移动文件和文件夹到其他地方从您的本地项目文件夹一段时间 删除所有行在.gitignore 关于这些文件和文件夹的承诺 Git 添加. Git 承诺 -m “从未追踪的文件中清除存储库” Git push

所有文件和文件已从存储库中删除。

如果您需要,请在本地恢复它们:

将您暂时移动到本地项目文件夹的所有文件和文件夹返回 将这些文件和文件夹的所有行返回.gitignore Git 添加. Git commit -m “检查或文件不再显示在 git 存储库” Git push

你已经完成了!

git clean -f

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

git clean -fd

当您要删除目录和文件时,此只会删除未追踪的目录和文件。