Si vous essayez de cette manière, vous échouerez, car vous finirez par mettre sur liste noire les répertoires de votre structure.
Pour résoudre ce problème, vous voulez mettre sur liste noire tout ce qui n'est pas un répertoire, et qui n'est pas un des types de fichiers que vous voulez engager, tout en ne mettant pas les répertoires sur liste noire .
Le site .gitignore
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 structure à trois niveaux sur liste blanche pour .txt
en présence de *.one
, *.two
et *.three
en utilisant un .gitignore
situé dans le répertoire racine du référentiel - cela fonctionne pour moi. Vous n'aurez pas à ajouter .gitignore
dans tous les répertoires de votre structure.
Les informations que j'ai utilisées pour trouver la réponse proviennent, entre autres, de.., ce (stackoverflow.com).
1 votes
En rapport : stackoverflow.com/q/987142/78845
0 votes
Les fichiers que vous voulez inclure se trouvent-ils dans un sous-répertoire ? Si c'est le cas, il se peut que ce sous-répertoire soit déjà ignoré par la première étoile de votre commande
.gitignore
.0 votes
Oui. Ces fichiers seront aussi bas dans la structure du répertoire que le dossier 11.1.102.55 dans mon exemple. L'imbrication n'est pas toujours la même entre les dossiers/produits.
0 votes
Si cela vous convient,
.gitignore
peut également se trouver à l'intérieur d'un sous-répertoire et filtrer tout ce qui se trouve dans ce sous-répertoire.1 votes
Je connais cette fonctionnalité. Nous avons des centaines de répertoires. Il serait plus rapide d'ignorer explicitement les types de fichiers que nous ne voulons pas que de faire un gitignore pour chaque répertoire. Je cherche vraiment un moyen d'obtenir une fonctionnalité de liste blanche à partir du fichier .gitignore.
0 votes
En fait, il s'agit d'un duplicata de l'autre question mais celui-ci a la bonne réponse...
1 votes
Je ne vois pas en quoi c'est un doublon. L'autre question demande comment mettre sur liste blanche certains fichiers, tandis que celle-ci demande comment mettre sur liste blanche certains types de fichiers, y compris les sous-dossiers. En fait, il s'agit plutôt d'un doublon de stackoverflow.com/questions/8024924/ .
0 votes
@davidkennedy85 J'ai modifié la question pour mettre en évidence la différence, et je l'ai marquée pour la réouverture.
0 votes
En fait, la plus importante des réponses en double sur ce sujet, que vous devriez consulter, est probablement la suivante Faire que .gitignore ignore tout sauf quelques fichiers - activité très régulière et plusieurs bonnes réponses. Je suis particulièrement fan de cette réponse ce qui semble clair et complet.