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

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

解决办法

根据Git文档git clean

从工作树中删除未被追踪的文件


第一步是通过使用-n选项来显示将被删除的内容。

# Print out the list of files which will be removed (dry run)
git clean -n

清洁步骤 - 注意:这将删除文件

# Delete the files from the repository
git clean -f
  • 要删除目录,运行git clean -f -dgit clean -fd
  • 要删除被忽略的文件,运行git clean -f -Xgit clean -fX
  • 要删除被忽略和未被忽略的文件,请运行git clean -f -xgit clean -fx

注意后两个命令中的 "X "的大小写不同。

如果clean.requireForce在你的配置中被设置为"true"(默认),就需要指定-f,否则实际上什么也不会发生。

更多信息请参见 git-clean 文档。


选项

-f, -force

如果Git配置变量clean.requireForce没有被设置为 false,git clean将拒绝运行,除非给出-f-n-i

-x

不要使用从.gitignore(每个 目录)和$GIT_DIR/info/exclude读取的标准忽略规则,但仍使用$GIT_DIR/info/exclude给出的忽略规则。 规则,并使用-e选项。这允许删除所有未跟踪的文件。 包括构建产品。这可以被用来(可能与 与git reset一起使用)来创建一个原始的工作目录来测试一个干净的 构建。

-X

只删除被Git忽略的文件。这可能对重建 一切从头开始,但保留手动创建的文件。

-n, -dry-run

实际上不要删除任何东西,只是显示会做什么。

-d

除了删除未跟踪的文件外,还要删除未跟踪的目录。如果一个 未被追踪的目录是由不同的 Git 仓库管理的,它就会被 默认不会被删除。如果你真的想删除这样的目录,请使用-f选项两次 删除这样的目录。

评论(15)

git-clean 就是你要找的东西。它是用来从工作树上删除未跟踪的文件的。

评论(1)