模式匹配
1.空行不匹配任何文件 因此常用作分隔符(以方便阅读)。
2.#用于注释,\表示转义(如需使用实体\,则要加引号"")。
3.*可以匹配任何字符(0次或多次),?可以匹配任何字符(1次)。(注意:他们都不可以匹配/)
4./用于分割目录:
4.1:当/在开头时,表示从.gitignore文件所在目录开始匹配。否则,下级都将匹配。
4.2:当/在末尾时,只匹配目录,否则,则同名的目录和文件都将匹配。
5.原先被排除的文件,使用!模式后该文件将会重新被包含。但如果该文件的父级目录被排除了,那么使用!也不会再次被包含。
6.【】通常用于匹配一个字符列表,如:a[mn]z 可匹配 amz和anz.
7. * *用于匹配多级目录,如a/**/b可匹配 “a/b”,“a/x/b”,“a/x/y/b”等。
如何检查 自己写的ignore规则是否有效?
git check-ignore -v {文件或目录路径}
先纳入版本管理后写入.gitignore是无效的
解决办法:
先修改.gitignore文件,之后再执行下面内容:
删除本地缓存,之后再加入
git rm -r --cached
git add
git status
已被.gitignore忽略的文件也是无法加入版本库的
要纳入版本管理,先移除规则。