作者:cocoC陳靜雯具_606 | 来源:互联网 | 2023-05-24 15:20
整体目录结构
foo
bar
lst
aa.c
bb.c
cc.c
h.c
i.c
11.txt
d.c
e.c
a.c
b.c
c.c
几点说明
所有的检查都相对于.gitignore文件位置的路径名的匹配,无论开头加不加/
配置语法连续的星号**/开头可以匹配所有的目录(也就是相对路径)
**/lst 匹配lst目录下的所有内容
如果以/结尾, 则匹配目录或者路径,也就指定目录(不区分绝对相对)
lst/ 跟上个例子是等价的
如果包含/
*通配多个任意字符/除外 { 所以/*.c并不能匹配root/foo/sha.c> }
?通配单个任意字符/除外
如果不包含/,则匹配文件
*通配多个任意字符 { 所以*.c匹配所有的c文件}
?通配单个任意字符
通用语法
以#开头表示注释
以方括号[0-9a-z]匹配所选范围中的一个字符(不区分大小写)
以!表示不忽略匹配到的文件或目录
此外,git 对于.gitignore配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;!语法除外。
示例
规则:!.gitignore
说明:不忽略.gitignore文件
规则:*.c
说明:忽略所有的.c文件
规则:bar/
说明:忽略所有bar目录下的所有内容
规则:**/bar/*.c
说明:忽略bar目录下的所有的点c文件,不包括子目录
规则:bar/*.c
说明:匹配根目录下的bar目录里的所有c文件, 注意这里必须与例子3进行区分,不以/结尾
建议
基本上记住以上几点就够用了,不是很多。记不住的话 ,配置忽略配置的时候,翻开这篇文章看看,就可以找到解决方案了。