Git会忽略某个目录的所有子目录中的某种类型的所有文件吗?

tur

我正在尝试制作一个gitignore文件,它将忽略所有.jar文件,除非它们位于名为libs的文件夹中。这是我的基本文件结构:

-.gitignore 
-libs/
    -goodFile.jar
    -someFolder/
        -subFolder/
            -alsoGood.jar
-otherCode/
    -fileToExclude.jar
-otherOtherCode/
    -otherSubfolder/
        -alsoExclude.jar

目前在.gitignore中,我已经尝试过:

*.jar
!libs
!libs/
!libs/*
!libs/**
!libs/**/
!libs/**/*.jar
!libs/*.jar

可以自己,组合甚至一起使用。他们都不工作。我发现这样做的唯一方法是将另一个.gitignore文件放入libs/(我希望避免)文件中,或者!libs/*/*/*.jar对子目录的每个可能级别使用一行。有没有办法让它忽略除libs中的罐子以外的所有罐子?

佩什基拉

怎么样:

*.jar
!libs/**/*.jar

顺序很重要。

编辑我使用了您的项目结构,并在执行了git add之后具有以下输出git status

$ git stat
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   .gitignore
    new file:   libs/goodFile.jar
    new file:   libs/someFolder/subFolder/alsoGood.jar
    new file:   libs/someFolder/subFolder/test/anotherFolder/test.jar



$ cat .gitignore 
*.jar
!libs/**/*.jar

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Git:忽略所有文件和目录,但不忽略子目录中的某些代码

Git,忽略除子目录中的一些文件以外的所有文件

如何从某个目录中删除所有文件,但该目录的子目录除外?

Git递归地忽略将子目录中的所有文件列入白名单

如何 git 忽略所有子目录中以 XX-version.properties 结尾的文件?

如何忽略除单个文件之外的git仓库子目录中的所有内容?

查找目录及其子目录中的所有文件

Git会忽略除特定扩展名之外的所有文件,即使在子目录下也是如此

Mac:如何递归地在子目录中查找最大的文件(忽略所有目录)

gitignore目录和子目录中的所有文件(特定文件类型)

Git添加所有子目录

忽略除一个文件外的所有文件和子目录中的文件

Git在目录及其子目录中的所有跟踪文件上跳过工作树

使用find删除除某个子目录中的所有文件以外的所有文件

如何将某种类型的所有文件移动(或复制)到Unix中的目录中?

列出子目录中的所有文件,按子目录名称排序

删除所有子目录中的匹配文件

chmod文件仅在所有子目录中

Gitignore排除所有子目录中的某些文件

如何遍历所有子目录中的文件?

检出子目录中的所有文件

重命名不同子目录中的所有文件

Apache-服务子目录中的所有文件

重命名子目录中的所有文件

移动所有文件在特定的子目录中

如何报告所有子目录中的文件数?

分别处理子目录中的所有文件

CMD命令打开子目录中的所有文件?

重命名子目录中的所有文件