这是我的文件夹结构(以find *
Unix格式)
Project
Project/hi.txt
Project/userdata
Project/userdata/username
Project/userdata/username/info.txt
Project/userdata/username/cool
Project/userdata/username/cool/foo.txt
Project/userdata/username/cool/bar.txt
如何使用.gitignore
排除userdata
文件夹除之外的cool
文件夹中的所有内容?此解决方案应该不依赖 username
实际上是什么。
答案 0 :(得分:3)
.gitignore
也支持包含,而不仅仅是排除。包含会否定排除。需要注意的是,如果您排除文件夹,它甚至都不会根据文件夹的内容测试包含内容。所以你要设置你的.gitignore看起来像(我假设它已经在Project/
里面了)
/userdata/*
!/userdata/*/
/userdata/*/*
!/userdata/*/cool/
这说“忽略/userdata
中的所有内容,但不要忽略文件夹,但要忽略嵌套文件夹中的所有内容,但不要忽略名为cool
的双重嵌套文件夹”。