J'ai vu des questions similaires ( 1 , 2 et 3 ), mais je n'obtiens pas de solution appropriée de leur part.
Je dois ignorer tous les fichiers dans un dossier particulier, à l'exception d'un type de fichier spécifique. Le dossier est un sous-répertoire du chemin racine. Permettez-moi de nommer le dossier Resources
. Puisque je ne veux pas compliquer les choses, laissez-moi ignorer les fichiers sous tous les dossiers nommés Resources
où qu'ils se trouvent.
C'est la solution la plus courante (dans toutes les questions en double)
# 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 qu'elle arrête le suivi des fichiers nouvellement ajoutés (puisqu'elle *
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
montre.
J'ai enfin une solution ici . La solution est d'ajouter un autre .gitignore
fichier dansResources
dossier. Cela fonctionne correctement.
Puis-je réaliser la même chose avec un seul fichier ignoré? Je trouve que le fait d'avoir de nombreux fichiers ignorés dans différents répertoires est un peu maladroit.
C'est ce que j'essaye de réaliser:
# 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 opposé. Il ignore les *.foo
types et suit les autres fichiers.
DirectoryName1/** DirectoryName1/**/*
pour chacun d'eux. Premièrement, supprimez les répertoires, mais vous avez besoin du second pour supprimer tous les types de fichiers.