设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.45.1 → 2.53.0 无变更
-
2.45.0
2024-04-29
- 2.43.1 → 2.44.4 无更改
-
2.43.0
2023-11-20
- 2.42.2 → 2.42.4 无更改
-
2.42.1
2023-11-02
- 2.39.1 → 2.42.0 无变更
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 无更改
-
2.38.0
2022-10-02
- 2.24.1 → 2.37.7 无变更
-
2.24.0
2019-11-04
- 2.23.1 → 2.23.4 无更改
-
2.23.0
2019-08-16
- 2.22.1 → 2.22.5 无更改
-
2.22.0
2019-06-07
- 2.10.5 → 2.21.4 无更改
-
2.9.5
2017-07-30
- 2.8.6 无更改
-
2.7.6
2017-07-30
- 2.4.12 → 2.6.7 无变更
-
2.3.10
2015-09-28
-
2.2.3
2015-09-04
- 2.1.4 无更改
-
2.0.5
2014-12-17
描述
通过从当前目录开始递归地移除不受版本控制的文件来清理工作区。
通常情况下,只有 Git 未知的文件会被移除,但如果指定了 -x 选项,被忽略的文件也会被移除。例如,这对于移除所有构建产物非常有用。
如果提供了任何可选的 <pathspec>... 参数,则只有匹配该路径规格(pathspec)的路径会受到影响。
选项
- -d
-
通常情况下,当未指定 <pathspec> 时,git clean 不会递归进入未跟踪的目录,以避免移除过多内容。指定 -d 可使其也递归进入此类目录。如果指定了 <pathspec>,则 -d 无关紧要;所有匹配指定路径的未跟踪文件(在
--force下提到的嵌套 git 目录除外)都将被移除。 - -f
- --force
-
如果 Git 配置变量 clean.requireForce 未设置为 false,除非给出 -f,否则 git clean 将拒绝删除文件或目录。除非给出第二个 -f,否则 Git 将拒绝修改未跟踪的嵌套 git 仓库(包含 .git 子目录的目录)。
- -i
- --interactive
-
显示将要执行的操作并交互式地清理文件。详见“交互模式”。配置变量
clean.requireForce会被忽略,因为该模式通过交互方式提供了自身的安全保护。 - -n
- --dry-run
-
并不实际移除任何内容,只是显示将要执行的操作。配置变量
clean.requireForce会被忽略,因为反正不会删除任何东西。 - -q
- --quiet
-
静默模式,仅报告错误,不报告成功移除的文件。
- -e <pattern>
- --exclude=<pattern>
-
除了标准忽略规则外,还使用给定的排除模式(参见 gitignore[5])。
- -x
-
不使用标准的忽略规则(参见 gitignore[5]),但仍使用命令行中通过
-e选项给出的忽略规则。这允许移除所有未跟踪的文件,包括构建产物。这可以(可能与 git restore 或 git reset 配合使用)用来创建一个纯净的工作目录以测试清洁构建。 - -X
-
仅移除被 Git 忽略的文件。这对于从头开始重新构建一切,但保留手动创建的文件可能很有用。
交互模式
当命令进入交互模式时,它会显示要清理的文件和目录,并进入其交互式命令循环。
命令循环显示可用的子命令列表,并给出提示符 "What now> "。通常,当提示符以单个 > 结尾时,您只能选择给出的选项之一并按回车,如下所示:
*** 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(清理)
-
开始清理文件和目录,然后退出。
- filter by pattern(按模式过滤)
-
显示要删除的文件和目录,并发出 "Input ignore patterns>>" 提示。您可以输入以空格分隔的模式,以将文件和目录排除在删除范围之外。例如,"*.c *.h" 将排除以 ".c" 和 ".h" 结尾的文件不被删除。当您对过滤结果满意时,按 ENTER(留空)返回主菜单。
- select by numbers(按编号选择)
-
显示要删除的文件和目录,并发出 "Select items to delete>>" 提示。当提示符以双 >> 结尾时,您可以进行多个选择,用空格或逗号分隔。您也可以指定范围。例如,"2-5 7,9" 表示从列表中选择 2,3,4,5,7,9。如果省略范围中的第二个数字,则选择所有剩余项目。例如,"7-" 表示从列表中选择 7,8,9。您可以输入 * 来选择所有内容。同样,当您对过滤结果满意时,按 ENTER(留空)返回主菜单。
- ask each(逐一询问)
-
这将开始清理,您必须逐个确认才能删除项目。请注意,此操作不如上述两个操作高效。
- quit(退出)
-
这允许您在不进行任何清理的情况下退出。
- help(帮助)
-
显示交互式 git-clean 的简要用法。
配置
本节中以下所有内容均从 git-config[1] 文档中选择性地包含。内容与彼处相同: