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