模式'doc / frotz /'与'doc / frotz'目录匹配,但与'a / doc / frotz'目录不匹配;但是,“ frotz /”与作为目录的“ frotz”和“ a / frotz”匹配。
这两个模式看起来完全一样,但是为什么后者匹配两个而前一个仅匹配一个情况?
.gitignore
的文档说:
如果模式的开头或中间(或两者都有)有分隔符,则该模式是相对于特定.gitignore文件本身的目录级别的。否则,模式也可以在.gitignore级别以下的任何级别进行匹配。
[只要您在某处有一个斜杠(但末尾不加斜杠),则该模式仅从.gitignore
所在的目录开始匹配,而在较低目录中不匹配。
在您的情况下,目录a/doc/frotz
并非以模式doc/frotz
开头,因此不匹配。您的第二个模式frotz
并非以此方式锚定,因此也匹配。