我如何从当前Git工作树中删除本地(未跟踪)文件?
git-clean - 从工作树中删除未跟踪的文件
概要
git clean [-d] [-f] [-i] [-n] [-q] [-e] [-x | -X] [--] …
说明
通过递归删除未在版本控制下的文件来清理工作树,从当前目录开始。
通常只会删除Git不知道的文件,但如果指定了
-x
选项,则还会删除被忽略的文件。例如,这可以用于删除所有构建产品。如果给出任何可选的
参数,那么只有这些路径会受到影响。
...
第一步是使用-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 -d
或git clean -fd
- 要删除被忽略的文件,请运行
git clean -f -X
或git clean -fX
- 要删除被忽略和未被忽略的文件,请运行
git clean -f -x
或git 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
读取的标准忽略规则,但仍然使用带有-e
选项的忽略规则。这允许删除所有未跟踪的文件,包括构建产品。这可以(可能与git reset一起使用)创建一个原始的工作目录来测试一个干净的构建。
-X
仅删除被Git忽略的文件。这可能有助于从头开始重建所有内容,但保留手动创建的文件。
-n
,--dry-run
不实际删除任何东西,只显示将要执行的操作。
-d
除了未跟踪的文件外,还删除未跟踪的目录。如果一个未跟踪的目录由不同的Git仓库管理,则默认情况下不会将其删除。如果确实想删除这样的目录,请两次使用
-f
选项。