一尘不染

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

git

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


阅读 381

收藏
2021-12-31

共1个答案

一尘不染

git-clean - 从工作树中删除未跟踪的文件

概要

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…

描述

通过从当前目录开始递归删除不受版本控制的文件来清理工作树。

通常,只会删除 Git 未知的文件,但如果-x指定了该选项,则也会删除忽略的文件。例如,这对于删除所有构建产品很有用。

如果<path>...给出了任何可选参数,则只有那些路径会受到影响。


步骤 1 是使用-n选项显示将删除的内容:

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

清理步骤 -当心:这将删除文件

# 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,除非给出或-f,否则 git clean 将拒绝运行。-n``-i

-x

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

-X

仅删除 Git 忽略的文件。这对于从头开始重建所有内容可能很有用,但保留手动创建的文件。

-n, --dry-run

实际上不要删除任何内容,只需显示将要执行的操作。

-d

除未跟踪的文件外,还删除未跟踪的目录。如果未跟踪的目录由不同的 Git 存储库管理,则默认情况下不会将其删除。-f如果您真的想删除这样的目录,请使用选项两次。

2021-12-31