配置语法
“/”表示目录;
“*”通配多个字符;
“?”通配单个字符
“[]”包含单个字符的匹配列表,参见正则表达式;
“!”表示不忽略匹配到的文件或目录;
此外,git 对于 .ignore
配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
规则含有“/”(匹配目录):
1、“/”在行首代表根目录
/fd1/*: 忽略根目录下的 /fd1/ 目录的全部内容;
2、“/”在不在行首,匹配前面字符对应的目录(在根目录几所有子目录中进行匹配)
fd1/*: 说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;
规则不含有“/”(在所有目录及文件中匹配)
Jelly:会匹配目录Jelly 以及 文件Jelly(没有后缀的文件);
规则添加后不生效问题
注意:文件或目录已经被提交Git纳入了版本管理中,再修改
.gitignore
是无效的。解决方式:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
- 备注:如果以上命令行执行后无效,可以手工删除要忽略的文件,然后提交。