当计算忽略时,可以让 git 忽略嵌套的 .gitignore 文件吗?

Sto*_*ica 5 git gitignore

我想将一些被一堆 repos 忽略的文件跟踪到一个 repo 中。

这是一个示例布局:

.
+-- .git
+-- .idea
|-- .gitignore
|-- proj1
|   +-- .git
|   |-- .gitignore
|   |-- foo
|   |   |-- foo.iml
|   |-- bar.c
|   |-- proj1.iml
|-- proj2
    +-- .git
    |-- .gitignore
    +-- bar
    |-- foo.c
    |-- proj2.iml
Run Code Online (Sandbox Code Playgroud)

我想要:

  • 包含所有 *.iml 文件的根级存储库,而每个子存储库单独忽略它们
  • 所有 repos 都是独立的(项目不依赖于根,可以单独操作)
  • 要维护此文件夹结构

有什么解决办法吗?

use*_*890 6

问题的标题和详细描述似乎提出了略有不同的问题......

关于问题的标题:要排除嵌套的 .gitignore 文件,但不排除根 .gitignore 本身,请将以下行添加到根 .gitignore 文件中:

*/**/.gitignore
Run Code Online (Sandbox Code Playgroud)

(这只会忽略那些至少嵌套一层文件夹深度的 .gitignore 文件)

或者,如果您只想忽略直接子文件夹中的 .gitignore 文件,但仍想包含间接(即第二级、第三级……)子文件夹中的所有 .gitignore 文件,请使用:

*/.gitignore
Run Code Online (Sandbox Code Playgroud)

  • 我想知道如何忽略规则而不仅仅是跟踪`.gitignore`我只想让git识别根`.gitignore`的规则 (2认同)