匹配模式
-
'*' 会匹配除了 '/' 之外的任何数量的任何字符
-
'?' 会匹配除了 '/' 之外的“一个”任何字符
-
'**' 会匹配包括 '/' 的任何数量的任何字符
-
'!' 可以逆转模式,所有被 '!' 后面的的模式匹配的文件的修改都会被 git 考虑
这一段有一个我认为很重要的规则,原文: "It is not possible to re-include a file if a parent directory of that file is excluded. " 意思是,一旦父目录被 git 忽略,那么这个父目录下的文件和子目录都不可能被 git 考虑。 -
如果模式的开头或者中间有 '/',那么这个模式只在 .gitignore 这一层生效,否则,会在任何子目录下生效
-
如果在模式的末尾有'/',那么这个模式只对目录生效,不对文件生效,否则,既对目录生效也对文件生效
-
如果子目录下有 .gitignore,那么子目录下的 .gitignore 的内容会更加优先
参考:
https://git-scm.com/docs/gitignore
https://www.cnblogs.com/yinhuachen/p/16776612.html