git-clean

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

名称

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

概要

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

描述

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

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

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

OPTIONS

  1. -d

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

  1. -f
  1. --force

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

  1. -i
  1. --interactive

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

  1. -n
  1. --dry-run

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

  1. -q
  1. --quiet

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

  1. -e <pattern>
  1. --exclude=<pattern>

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

  1. -x

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

  1. -X

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

互动模式

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

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

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

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

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

  1. clean

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

  1. filter by pattern

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

  1. select by numbers

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

  1. ask each

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

  1. quit

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

  1. help

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

也可以看看

gitignore [5]

GIT

部分 git [1] 套件