J'ai créé une liste blanche pour les fichiers texte uniquement.
*
!*.txt
Maintenant, j'ai un fichier texte non suivi dans un sous-répertoire - sub/dir/file.txt
, et ceci N'EST PAS affiché (il est ignoré). Les fichiers texte dans le répertoire racine sont cependant affichés.
Pourquoi est-ce et comment le résoudre?
Si vous l'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 ne fait pas partie des types de fichiers que vous souhaitez valider tout en ne mettant pas sur liste noire les répertoires .
Le .gitignore
fichier 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
Testé dans une liste blanche de structure à trois niveaux pour .txt
fichiers en présence de *.one
, *.two
et *.three
fichiers utilisant un .gitignore
situé dans le répertoire racine du référentiel - fonctionne pour moi. Vous n'aurez pas à ajouter .gitignore
fichiers vers tous les répertoires de votre structure.
Les informations que j'ai utilisées pour comprendre la réponse provenaient, entre autres, de this (stackoverflow.com).