除了顶层之外,如何使用 .gitignore 排除文件类型?

How to exclude a filetype with .gitignore except in the top-level?

我的项目设置方式所有 .js 文件都是从其他文件类型生成的,除了我的存储库顶层的 .js 文件。

如何配置我的 .gitignore 以忽略任何不在我的存储库顶层的 .js 文件?

我试过了

/**/*.js

**/*.js
!*.js

以及一些变体,但它们似乎总是只包含或排除所有 .js 文件。

您可以尝试下一种方法:

  1. 忽略所有 js 文件:

*.js

  1. 排除忽略顶级 js 文件:

!/*.js

所以结果 .gitignore 应该包含顺序正确的下两行:

*.js
!/*.js
*/**/*.js

(在变量一前加一个固定的通配符)应该可以做到。