.gitignore文件用于确保指定的文件不被git追踪,如果要停止追踪一个已经被追踪了的文件,可以使用git rm --cached
来移除
模式
- 以!开头的模式表示取反,指定匹配到的文件要加入追踪;还可以把之前被匹配到排除追踪的文件重新加入追踪;
但是有一点要特别注意:如果文件所在的目录已经被排除了,那么是无法再把文件加入追踪的 - 通配符:*表示匹配除了/之外的任何内容;?表示匹配除了/之外的任何一个字符;[]表示匹配范围内的任何一个字符
- 以/结束的模式表示匹配一个目录,所以foo/只会匹配名为为foo的目录,而不会匹配到名字为foo的文件
- 如果模式行开头的#、!这两个字符也是匹配字符的一部分,那么要用\来转义;尾部的空格会被忽略,除非用\包裹起来
- /开头的模式表示从当前目录开始匹配,比如"/*.c"匹配"cat.c",但是不匹配"mozilla/cat.c"
- 两个**在不同场景下有不同意义:
模式以**开头表示匹配任意目录,比如"**/foo"匹配任意路径的foo,和模式"foo"效果一致;而"**/foo/bar"则匹配任意路径下的foo/bar
模式以**结尾表示匹配指定目录下的任意文件,如"abc/**"匹配abc目录内的所有文件
如果**在模式中间,则表示匹配0个或任意多个中间目录,如"a/**/b"匹配"a/b"、"a/x/b"、"a/x/y/b"等等
网友评论