git clean

优质
小牛编辑
127浏览
2023-12-01

命名

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

只要选择是独一无二的,你也可以说cclean以上。

主要的命令循环有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的简要用法。