计算忽略时是否可以使git忽略嵌套的.gitignore文件?

计算忽略时是否可以使git忽略嵌套的.gitignore文件?,git,gitignore,Git,Gitignore,我想把一些被一堆回购协议忽略的文件跟踪到一个回购协议中 下面是一个布局示例: . +-- .git +-- .idea |-- .gitignore |-- proj1 | +-- .git | |-- .gitignore | |-- foo | | |-- foo.iml | |-- bar.c | |-- proj1.iml |-- proj2 +-- .git |-- .gitignore +-- bar |-- foo.c

我想把一些被一堆回购协议忽略的文件跟踪到一个回购协议中

下面是一个布局示例:

.
+-- .git
+-- .idea
|-- .gitignore
|-- proj1
|   +-- .git
|   |-- .gitignore
|   |-- foo
|   |   |-- foo.iml
|   |-- bar.c
|   |-- proj1.iml
|-- proj2
    +-- .git
    |-- .gitignore
    +-- bar
    |-- foo.c
    |-- proj2.iml
我想:

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

有什么解决办法吗?

问题的标题和详细描述似乎提出了一些稍有不同的问题

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

*/**/.gitignore
(这将只忽略嵌套至少一个文件夹级别的.gitignore文件)

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

*/.gitignore

澄清一下,这是配置文件本身的跟踪,还是忽略其中的规则?后者是问题“忽略”的意思。@StopHarmingMonica这配置了对嵌套的.gitignore文件的跟踪。这些文件中的规则(如果文件存在)仍将适用。您可以在本地指定忽略规则(同样,它们将在本地得到遵守),但不会跟踪文件。我想知道如何忽略规则,而不仅仅是跟踪
。gitignore
我只希望git识别根
。gitignore