gitignore目录仅当它们包含特殊的子目录时才忽略

gitignore目录仅当它们包含特殊的子目录时才忽略,git,gitignore,Git,Gitignore,我有一个目录结构,有许多我想忽略的目录,但名称不是唯一的,但可以通过某个子目录来区分 例如: +-a |+-d |+-y +-b |+-d< |+-x +-c +-e |+-a ||+-d< ||+-x |+-x +-d< +-x 我想忽略所有具有x子目录的d目录(以及所有内容)。 我不想忽略所有x,也不想忽略所有d,也不想只忽略***/d/x你不能让Git计算,但你可以编写一个程序,根据树中的内容编写.gitignore文件。用任何你喜欢的语言编写这个程序,它能够读取目录并根据其中的子目录做

我有一个目录结构,有许多我想忽略的目录,但名称不是唯一的,但可以通过某个子目录来区分

例如:

+-a
|+-d
|+-y
+-b
|+-d<
|+-x
+-c
+-e
|+-a
||+-d<
||+-x
|+-x
+-d<
+-x
我想忽略所有具有
x
子目录的
d
目录(以及所有内容)。
我不想忽略所有
x
,也不想忽略所有
d
,也不想只忽略
***/d/x

你不能让Git计算,但你可以编写一个程序,根据树中的内容编写
.gitignore
文件。用任何你喜欢的语言编写这个程序,它能够读取目录并根据其中的子目录做出决定。记住,这样的程序可以从git钩子运行,从而自动化大部分过程。您应该知道,git钩子不能添加到git repo中,也不能在其他人的机器上运行,除非他们自己做一些事情。
 +-a
 | +-d
 |   +-y
 +-b
 | +-d                 <
 |   +-x
 +-c
   +-e
   | +-a
   | | +-d             <
   | |   +-x
   | +-x
   +-d                 <
     +-x