Ignorando una cadena de directorys en git?

Necesito ignorar lo siguiente.

En routes como /a/b/c/d/e/f/g , necesito ignorar /d/e/f/g . También necesito poder ignorar cada lugar /d/e/f/g debajo de a . Intenté d/e/f/g , pero eso no funcionó. ¿Pensamientos?

Tratar:

 **/d/e/f/g 

o:

 a/**/d/f/g 

Interesante requerimiento Tengo curiosidad por saber cuál es tu caso de uso.

La forma en que debe hacer algo como esto es un .gitignore separado en el directory principal de cada .gitignore que necesita excluir (git lee todos los files .gitignore en su path hacia abajo del tree).

Si realmente quieres un solo file .gitignore … Bueno, no lo he intentado, pero pasando por el documento de gitignore , es principalmente un típico glob de shell, así que lo que podría funcionar es algo así como:

 a / * / d / e / f / g
 a / * / * / d / e / f / g
 a / * / * / * / d / e / f / g

… repitiendo con un número cada vez mayor de asteriscos hasta lo más profundo que esperas razonablemente.

Me imagino que habrá una penalización de performance aquí, pero no sé qué tan serio. Probablemente no se note para la mayoría de los repositorys en cualquier sistema construido en los últimos 5-10 años.