设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.43.1 → 2.50.1 无更改
-
2.43.0
2023-11-20
- 2.36.1 → 2.42.4 无变更
-
2.36.0
2022-04-18
- 2.25.3 → 2.35.8 无变更
-
2.25.2
2020-03-17
- 2.25.1 无变化
-
2.25.0
2020-01-13
- 2.18.1 → 2.24.4 无更改
-
2.18.0
2018-06-21
- 2.9.5 → 2.17.6 无变化
-
2.8.6
2017-07-30
- 2.7.6 无更改
-
2.6.7
2017-05-05
- 2.5.6 无更改
-
2.4.12
2017-05-05
-
2.3.10
2015-09-28
- 2.1.4 → 2.2.3 无更改
-
2.0.5
2014-12-17
描述
对于通过命令行或通过文件(使用 --stdin
)给出的每个路径名,检查该文件是否被 .gitignore(或排除机制的其他输入文件)排除,如果排除则输出该路径。
默认情况下,跟踪的文件根本不会显示,因为它们不受排除规则的约束;但请参阅 ‘--no-index’。
选项
- -q, --quiet
-
不输出任何内容,只设置退出状态。这仅对单个路径名有效。
- -v, --verbose
-
对于每个匹配排除模式的路径,不打印被排除的路径,而是打印排除模式和路径。 (匹配排除模式通常意味着该路径被排除,但如果模式以 “
!
” 开头,则它是反向模式,匹配它意味着该路径未被排除。)有关排除源内部和之间的优先级规则,请参阅 gitignore[5]。
- --stdin
-
从标准输入(每行一个)而不是从命令行读取路径名。
- -z
-
输出格式被修改为机器可解析(参见下文)。如果同时给出
--stdin
,则输入路径将使用 NUL 字符而不是换行符分隔。 - -n, --non-matching
-
显示未匹配任何模式的给定路径。这仅在启用
--verbose
时有意义,否则无法区分匹配模式的路径和不匹配模式的路径。 - --no-index
-
在执行检查时不查看索引。这可用于调试为什么某个路径被跟踪(例如通过
git
add
.
),并且未按用户预期被规则忽略,或者在开发包含否定模式以匹配之前通过git
add
-f
添加的路径时使用。
输出
默认情况下,任何匹配忽略模式的给定路径名都将输出,每行一个。如果没有模式匹配给定路径,则不会为该路径输出任何内容;这意味着该路径将不会被忽略。
如果指定了 --verbose
,则输出为以下形式的一系列行
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
<pathname> 是被查询文件的路径,<pattern> 是匹配的模式,<source> 是模式的源文件,<linenum> 是该源中模式的行号。如果模式包含 “!
” 前缀或 “/
” 后缀,它们将在输出中保留。<source> 在引用 core.excludesFile
配置的文件时将是绝对路径,在引用 .git/info/exclude
或每个目录的排除文件时将是相对于仓库根目录的路径。
如果指定了 -z
,输出中的路径名将由空字符分隔;如果同时指定了 --verbose
,则空字符也将用于代替冒号和制表符
<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>
如果指定了 -n
或 --non-matching
,则不匹配的路径名也将输出,在这种情况下,每个输出记录中除 <pathname> 之外的所有字段都将为空。这在非交互式运行时很有用,这样文件可以增量地流式传输到长时间运行的 check-ignore 进程的 STDIN,并且对于这些文件中的每一个,STDOUT 将指示该文件是否匹配模式。(如果没有此选项,将无法判断给定文件没有输出是否意味着它未匹配任何模式,或者输出尚未生成。)
缓冲按照 git[1] 中 GIT_FLUSH
选项下的说明进行。调用者有责任避免因输入缓冲区溢出或从空输出缓冲区读取而导致的死锁。