git-clean

原文: https://git-scm.com/docs/git-clean

名称

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

概要

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

描述

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

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

如果给出任何可选的&lt;path&gt;...参数,则只会影响这些路径。

OPTIONS

 -d 

除了未跟踪的文件之外,删除未跟踪的目录。如果未跟踪的目录由不同的Git存储库管理,则默认情况下不会删除它。如果您确实要删除此类目录,请使用-f选项两次。

 -f 
 --force 

如果Git配置变量clean.requireForce未设置为false, git clean 将拒绝删除文件或目录,除非给出-f,-n或-i。除非给出第二个-f,否则Git将拒绝使用.git子目录或文件删除目录。

 -i 
 --interactive 

显示将要执行的操作并以交互方式清理文件。有关详细信息,请参阅“交互模式”

 -n 
 --dry-run 

不要删除任何东西,只显示将要做的事情。

 -q 
 --quiet 

保持安静,仅报告错误,但不报告成功删除的文件。

 -e <pattern> 
 --exclude=<pattern> 

除了在.gitignore(每个目录)和$ GIT_DIR / info / exclude中找到的那些之外,还要考虑这些模式在有效的忽略规则集中。

 -x 

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

 -X 

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

互动模式

当命令进入交互模式时,它显示要清理的文件和目录,并进入其交互式命令循环。

命令循环显示可用的子命令列表,并给出提示“What now&gt;”。通常,当提示以单个&gt;结束时。 ,您只能选择给定的一个选项并输入return,如下所示:

    *** Commands ***
	1: clean                2: filter by pattern    3: select by numbers
	4: ask each             5: quit                 6: help
    What now> 1

只要选择是唯一的,您也可以说cclean

主命令循环有6个子命令。

 clean 

开始清理文件和目录,然后退出。

 filter by pattern 

这显示了要删除的文件和目录,并发出“输入忽略模式&gt;&gt;”提示。您可以输入以空格分隔的模式,以排除文件和目录的删除。例如。 “* .c * .h”将从删除中排除以“.c”和“.h”结尾的文件。如果对筛选结果感到满意,请按ENTER(空)返回主菜单。

 select by numbers 

这显示了要删除的文件和目录,并发出“选择要删除的项目&gt;&gt;”提示。当提示以double _&gt;&gt;结束时_就像这样,你可以做多个选择,用空格或逗号连接起来。你也可以说范围。例如。 “2-5 7,9”从列表中选择2,3,4,5,7,9。如果省略范围中的第二个数字,则选择所有剩余项目。例如。 “7-”从列表中选择7,8,9。你可以说 * 来选择一切。此外,当您对筛选结果感到满意时,请按ENTER(空)返回主菜单。

 ask each 

这将开始清理,您必须逐个确认才能删除项目。请注意,此操作不如上述两个操作有效。

 quit 

这样可以在不进行清洁的情况下退出。

 help 

显示交互式git-clean的简要用法。

也可以看看

gitignore [5]

GIT

部分 git [1] 套件