.gitignore中!表示取反
注意,如果父目录被排除,则父目录下的子目录也会被排除,此时对父目录下的子目录取反也不会生效,比如存在目录结构,再.gitignore目录下配置的 /*(排除所有文件),此时想提交a/aa/aaa文件,直接配置!a/aa/aaa不会生效,就拿aa来说,a目录已经被忽略了,所以再配置a目录下其他目录也不会生效
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9a466790172c11af24fa6fd4f05d9109.png)
官网忽略文件配置
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/842f2adec27b2faa87c3f9c4ff18aaf3.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a22743c4f60b0ffc883e609b56baa873.png)
如果存在如下目录结构
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cebebdcfed0f297a95ac714f846dc4d0.png)
如果想只提交 a/aa目录
则需要如下步骤:
1、排除所有文件
/*
2、a目录取出来
!/a
3、排除a目录下的所有文件
/a/*
4、a/aa取出来
!/a/aa/