如何使用 .gitignore 反向 select

how to use .gitignore reverse select

使用.gitignore反选,我只想跟踪appcatalog.App是emply下的二级目录

我使用了下面的代码,但是git没有跟踪任何东西

*
!*/
!*/app

我已经测试过类似的问题,写成这样,但是无效

忽略所有内容,忽略顶级应用及其下的所有内容:

*
!/app/
!/app/*

我刚刚遇到了一个稍微棘手的问题,结果到了这里,所以如果你也是这种情况,请看这里:

如果您忽略具体目录(例如在本例中为 /Emply/)但想包含它的某些 子目录或包含的文件,这将 不起作用 :

/Emply/
!/Emply/app  # Does not work!

原因是 git 出于性能原因不会列出忽略的目录 (source)。相反,使用通配符忽略所有同级目录和文件:

/Emply/*
!/Emply/app  # Works!

有点晦涩难懂,简直让我抓狂。