2010-08-02 20 views
4

Je dois ignorer ce qui suit. Dans les chemins comme /a/b/c/d/e/f/g, je dois ignorer /d/e/f/g. Je dois également être en mesure d'ignorer tous les lieux /d/e/f/g apparaît sous a. J'ai essayé d/e/f/g, mais cela n'a pas fonctionné. Pensées?Ignorer une chaîne de répertoires dans git?

Répondre

4

Essayez:

**/d/e/f/g 

ou:

a/**/d/f/g 
5

Intéressant. Je suis curieux de savoir quel est votre cas d'utilisation.

La façon dont vous devriez faire quelque chose comme ceci est un .gitignore séparé dans le répertoire parent de chaque sous-arbre, vous devez exclure (git lit tous les fichiers .gitignore sur son chemin vers le bas de l'arbre).

Si vous voulez vraiment un seul fichier .gitignore ... Eh bien, je ne l'ai pas essayé, mais en passant par le gitignore doc, il est la plupart du temps une coquille typique glob, donc ce que pourrait le travail est quelque chose comme:

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

... répéter avec un nombre toujours croissant d'astérisques au maximum que vous attendez raisonnablement.

J'imagine qu'il y aura une pénalité de performance ici, mais je ne sais pas si c'est sérieux. Probablement pas perceptible pour la plupart des repos sur tout système construit dans les 5-10 dernières années.