git忽略特定types的所有文件,除了特定子文件夹中的文件
我有这样的目录结构:
-  根
-  文件夹1
- abc.json
- def.json
-   somedir
- more.json
 
 
-  文件夹2
- qwe.json
- rty.json
 
-  规范
- mock1.json
- mock2.json
-   somedir
- more_mocks.json
 
 
 
-  文件夹1
现在使用一个.gitignore我想忽略所有*.json文件,除了spec 。 我不想在folder1和folder2使用.gitignore ,因为这里有很多,他们会被添加到很多,我相信我会忘记移动正确的.gitignore文件。 
另外,可能会有更多的嵌套json文件的目录,这个规则也需要应用到所有的子目录。
那么如何忽略一个types的所有文件,除了某个子目录呢?
一个可选的前缀
!否定了这种模式; 任何先前模式排除的匹配文件将再次包含在内。 如果否定模式匹配,则将覆盖较低的优先模式源。
http://schacon.github.com/git/gitignore.html
 *.json !spec/*.json