git clean
命名
git-clean - 从工作树中删除未跟踪的文件
概要
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…
描述
通过从当前目录开始递归地移除不受版本控制的文件来清除工作树。
通常,只有Git未知的文件才会被删除,但是如果-x
指定了该选项,则也会删除被忽略的文件。例如,这可以用于删除所有构建产品。
如果<path>...
给出任何可选参数,则只有那些路径受到影响。
选项
-d
除了未跟踪的文件之外,还要除去未跟踪的目录。如果未跟踪的目录由不同的Git存储库管理,则默认情况下不会删除它。如果您真的想删除这样的目录,请使用-f选项两次。
-f --force
如果Git配置变量clean.requireForce未设置为false,git clean
将拒绝删除文件或目录,除非给定-f,-n或-i。除非给出第二个-f,否则Git将拒绝使用.git子目录或文件删除目录。
-i --interactive
以交互方式显示将要完成的操作和清理文件。有关详情,请参阅“交互模式”。
-n --dry-run
不要实际删除任何东西,只显示会做什么。
-q --quiet
Be quiet,只报告错误,而不是成功删除的文件。
-e <pattern> --exclude=<pattern>
除了在.gitignore(每个目录)和$ GIT_DIR / info / exclude中发现的内容外,还应将这些模式视为有效的忽略规则集。
-x
不要使用从.gitignore(每个目录)和$ GIT_DIR / info / exclude读取的标准忽略规则,但仍然使用与-e
选项一起提供的忽略规则。这允许删除所有未跟踪的文件,包括构建产品。这可以用来(可能与其结合git reset
)创建一个原始工作目录来测试一个干净的构建。
-X
只删除Git忽略的文件。这对从头开始重建所有内容可能很有用,但保留手动创建的文件。
Interactive mode
当命令进入交互模式时,它显示要清理的文件和目录,并进入其交互式命令循环。
命令循环显示可用的子命令列表,并提示“What now>”。通常,当提示以单个结尾时>
,您可以只选择其中一个选项并输入return,如下所示:
*** Commands *** 1: clean 2: filter by pattern 3: select by numbers 4: ask each 5: quit 6: help What now> 1
只要选择是独一无二的,你也可以说c
或clean
以上。
主要的命令循环有6个子命令。
clean
开始清理文件和目录,然后退出。
按模式过滤
这显示了要删除的文件和目录,并发出“输入忽略模式>>”提示。您可以输入空格分隔的模式以从删除中排除文件和目录。例如“* .c * .h”将删除以“.c”和“.h”结尾的文件。当您对筛选结果满意时,按ENTER(空)回到主菜单。
按数字选择
这显示要删除的文件和目录并发出“选择要删除的项目>>”提示。当提示以双精度结束时>>
,可以进行多个选择,并将其与空格或逗号连接。你也可以说范围。例如“2-5 7,9”从列表中选择2,3,4,5,7,9。如果省略范围中的第二个数字,则选择所有剩余的项目。例如“7-”从列表中选择7,8,9。你可以说*
选择一切。另外,当您对筛选结果满意时,请按ENTER(空白)回到主菜单。
询问每一个
这将开始清理,并且您必须逐个确认以删除项目。请注意,此操作不如上述两项操作有效。
quit
这可以让你不做清洁就退出。
help
显示交互式git-clean的简要用法。