J'ai vu des questions similaires ( 1 , 2 y 3 ), mais je n'obtiens pas de solution appropriée de leur part.
J'ai besoin d'ignorer tous les fichiers d'un dossier particulier, sauf pour un type de fichier spécifique. Le dossier est un sous-répertoire du chemin racine. Je vais nommer le dossier Resources
. Comme je ne veux pas compliquer les choses, ignorons les fichiers sous tous les dossiers nommés Resources
où qu'il soit.
C'est la solution la plus courante (dans toutes les questions dupliquées)
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
Le problème avec cette solution est que il arrête de suivre les fichiers nouvellement ajoutés (depuis *
ignore tous les fichiers). Je ne veux pas continuer à exclure chaque type de fichier. Je veux un comportement normal où si un nouveau fichier est ajouté, git status
le montre.
J'ai enfin trouvé une solution aquí . La solution consiste à ajouter un autre .gitignore
dans Resources
dossier. Cela fonctionne correctement.
Puis-je obtenir la même chose avec un seul fichier d'ignorance ? Je trouve qu'avoir plusieurs fichiers d'ignorances dans différents répertoires est un peu lourd.
C'est ce que j'essaie d'obtenir :
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
Mais cela donne le résultat inverse. Il ignore *.foo
et suit d'autres fichiers.