繁体   English   中英

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

[英]git ignore all files of a certain type, except those in a specific subfolder

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

    • 文件夹1
      • abc.json
      • def.json
      • 一些目录
        • 更多.json
    • 文件夹2
      • qwe.json
      • rty.json
    • 规格
      • 模拟1.json
      • 模拟2.json
      • 一些目录
        • more_mocks.json

现在使用.gitignore我想忽略所有*.json文件,除了spec中的文件。 我不想在folder1folder2中使用.gitignore ,因为它们有很多,而且它们会被添加到很多地方,而且我确定我会忘记将正确的.gitignore文件移动到位。

另外,JSON个文件的嵌套目录可能比较多,这个规则也需要应用到所有的子目录。

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

一个可选的前缀! 这否定了模式; 任何被先前模式排除的匹配文件都将再次包含在内。 如果否定模式匹配,这将覆盖较低优先级的模式源。

https://git-scm.com/docs/gitignore

*.json
!spec/*.json

如果您使用模式忽略文件但有异常,请在异常前加上感叹号 (!)。 例如:

*.json
!spec/*.json

更多信息: https ://riptutorial.com/git/example/911/exceptions-in-a--gitignore-file

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM