Si vous essayez de cette façon, cela échouera, car vous finirez par mettre sur liste noire les répertoires de votre structure.
Pour résoudre, vous voulez mettre sur liste noire tout ce qui n'est pas un répertoire, et qui ne fait pas partie des types de fichiers que vous souhaitez valider, sans mettre sur liste noire les répertoires .
Le .gitignorefichier qui fera cela:
# First, ignore everything
*
# Now, whitelist anything that's a directory
!*/
# And all the file types you're interested in.
!*.one
!*.two
!*.etc
J'ai testé cela dans une liste blanche de structure à trois niveaux pour les .txtfichiers en présence de *.one, *.twoet les *.threefichiers à l'aide d'un .gitignoresitué dans le répertoire racine du référentiel - fonctionne pour moi. Vous n'aurez pas à ajouter de .gitignorefichiers à tous les répertoires de votre structure.
Informations que je l' habitude de trouver la réponse est venue, entre autres, ce (stackoverflow.com).