.gitignore指定有意忽略的未跟踪文件
创建git初始
git init -b 分支名
创建.gitignore文件
忽略那个文件就修改那个文件
模式配置
正则表达式
1.空行不匹配任何文件,因此常用作分隔符(以方便阅读)
2.#用于注释 ,\用于转义
3.*可以匹配任何内容,?可以匹配任何字符(1次)。但是都不可以匹配/
4./用于分割目录
当/在开头时,表示从.gitignore文件苏哦在目录开始匹配。否则夏季都将匹配
当/在末尾时,只匹配目录,否则,同名的目录和文件内都将匹配
5.原先被排除的文件,使用!模式后该文件会重新被包含。如果该文件的父级目录被派出了,那么使用!也不会被再次包含。
6.[]通常用于匹配一个字符列表,如a[mn]z可匹配amz和anz
7.**用于匹配多级别目录,如a/**/b可以匹配a/c/b,a/cc/b,a/sfa/b。
举例:
1.忽略所有内容
*
2.忽略所有目录
*/
3.忽略public目录下的所有文件,除了favicon.icon文件
public/*
!public/favicon.icon
4.只保留public目录下的a{一个字符}Z.{后缀名}的所有文件
/*
!/public/
/public/*
!/public/a?z.*
查看自己写的ignore规则是否有效?
git check-ignore -v {文件或者目录路径}
没有输出表示没有被忽略掉,有输出表示已经忽略掉了。
ps:.gitignore只能忽略那些没有被追踪的文件,所以先纳入版本管理写入.ignore是无效的
先删除本地缓存,再添加
git rm -r --cached .
git add .
git status
ps:设置某个文件,修改后默认没有提示
git update-index --assume-unchanged <file>
设置某个文件修改后有提示
git update-index --no-assume-unchanged <file>