作用域
- gitignore只匹配其所在目录及子目录的文件。
- 已经被git track的文件不受gitignore影响。
- 子目录的gitignore文件规则会覆盖父目录的规则。
文件与文件夹匹配
- 在表达式前头出现
/
则匹配从当前目录(gitignore所在目录)开始的相应文件/文件夹。 - 在表达式后加
/
来匹配文件夹。如表达式hello/
只会匹配文件夹hello, 而不会匹配文件hello。 -
**
匹配任意文件/文件夹,或者空内容。如a/**/b
匹配a/b
,a/x/b
以及a/x/y/b
。
模糊匹配
-
*
匹配除了/
之外任意数量的任意内容。 -
?
匹配除了/
之外的任意一个字符。 -
[]
匹配包含在[]
范围内的任意字符。
取消匹配
- 在表达式前使用
!
来取消匹配,然而当其父文件夹已经被其他表达式匹配时,则该条表达式无效。
特殊字符
- 在git中有特殊含义的字符如
!
,#
等在匹配时在前面加\
来转义。 - 表达式后面的空格会在匹配时被忽略掉,如果想要匹配名字后面带有空格的文件/文件夹时,可以使用
\
加空格来匹配空格。
其他
- 使用
#
添加注释。