使用规则
1.注释
#在gitignore文件中井号开头代表注释
2.忽略
2.1 区分忽略同名的目录和文件
文件树
├── folder
│ └── file1
└── src
├── folder
└── utils
└── folder
同名的文件与目录同时忽略
#以下是忽略的文件,所有名为folder的 文件 或者目录 都会被忽略
folder
只忽略目录
#以下是忽略的文件,所有名为folder的目录都会被忽略
folder/ #在名称后面加上 ‘/’ 代表的是该名称的目录,同名的文件不会忽略
只忽略文件
#以下是忽略的文件,所有名为folder的文件都会被忽略
folder
! folder/ #利用 !号取反,将忽略目录的操作去除
注意
folder/ #代表的是忽略整个项目中所有名为folder的目录
/folder #代表的是忽略根目录下的folder文件与目录,不包括二级以下同名文件和目录
/home/folder #代表的是忽略根目录下的home路径下的所有foleder文件与目录
3.通配符
3.1常用通配符包括
1.“ * ” 星号符 :匹配多个字符,'/ '除外。
2.“ ?”问号符 :匹配任意单个字符,‘/’除外。
3.“ [ ] ”方括号 :匹配多个列表中的任意一个字符。
3.2举例
*/file #代表忽略任意路径下的file文件和目录
*file #代表忽略任意以file结尾的文件和目录
*file/ #代表忽略任意以file结尾的目录
?/file #代表忽略所有以单个字符为名的路径下的file文件和目录
其余与星号同理
abc[ufo] #代表忽略以abc为前缀,并且后面只有[ufo]中任意一个字符的文件及目录
其余与星号同理
3.2 双星号
“/**/” 并不是通配符但是也具备一定的通配作用,“/**/” 表示多级目录,直白点说就是可以表示中间带有“/”的字符串,当然如果“**”可以表示为空,那么“/**/” 表示为“/”。
src/**/file 表示路径名称中前面具有src文件夹路径而路径最后面为file的任意存在的路径,
如:
src/xxx/yyy/file
src/xxx/zzz/file
src/xxx/file
src/file
注意
对已被远程仓库跟踪的目录和文件设置忽略是不起作用的
解决方案:
- 在远程仓库手动删除这个文件或目录
- 通过git指令进行远程仓库文件的删除