2011-01-06 122 views
116

我有一个这样的目录结构:GIT中忽略特定类型的所有文件,除了那些在特定的子文件夹

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

现在使用.gitignore我想忽略除了在spec的那些所有*.json文件。我不想在folder1folder2中使用.gitignore,因为有很多这样的东西,他们会被添加到很多,我相信我会忘记将正确的.gitignore文件移动到位。

另外,可能会有更多的嵌套目录与json文件,这个规则也需要应用到所有的子目录。

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

回答

184

一个可选的前缀!,它抵消了 模式; 排除的任何匹配文件先前的格式将再次包含 。如果否定模式 匹配,则这将覆盖优先模式源的较低的 。

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

*.json 
!spec/*.json 
+3

您还可以添加的.gitignore符合规范包含!/ *。JSON,如果你喜欢。 – 2011-01-06 23:29:28

相关问题