git忽略某种类型的所有文件,但特定子文件夹中的文件除外

时间:2011-01-06 23:22:13

标签: git gitignore

我有一个像这样的目录结构:

    • folder1中
      • abc.json
      • def.json
      • somedir
        • more.json
    • 文件夹2
      • qwe.json
      • rty.json
    • 规格
      • mock1.json
      • mock2.json
      • somedir
        • more_mocks.json

现在使用.gitignore我想忽略*.json以外的所有spec个文件。我不想在.gitignorefolder1中使用folder2因为有大量的这些并且它们会被添加到很多,我相信我会忘记移动正确的.gitignore文件。

此外,json文件可能有更多嵌套目录,此规则也需要应用于所有子目录。

那么如何忽略某个类型的所有文件,除了某个子目录?

1 个答案:

答案 0 :(得分:246)

  

可选前缀!否定了   图案;排除的任何匹配文件   先前的模式将成为   包括在内。如果是否定的模式   匹配,这将覆盖更低   优先模式来源。

http://schacon.github.com/git/gitignore.html

*.json
!spec/*.json