web-dev-qa-db-fra.com

Exceptions dans .gitignore

Comment ajouter une exception à .gitignore, comme "ignorer tous les fichiers .dll MAIS myfile.dll"?

183
pistacchio

Utilisation ! pour annuler le motif:

*.dll
!myfile.dll
247
Ben James

Si vous voulez ignorer tout le dossier, à l'exception de certains fichiers, écrivez:

MyFolder/*
!MyFolder/CoolFile.txt

Cela ne fonctionnera pas fonctionnera:

MyFolder/
!MyFolder/CoolFile.txt
149
cubuspl42

Vous pouvez également ignorer dossiers comme

! src/main/resources/archetype-resources/**/*

vous pouvez également ignorer dossier imbriqué avec des motifs comme

! **/src/test/resources/**/*
34
Anver Sadhat

Vous pouvez avoir plusieurs .gitignore fichiers travaillant ensemble de manière hiérarchique pour atteindre votre objectif. Au niveau racine, vous pouvez avoir:

root

*.dll

dans le dossier ayant le myfile.dll vous pouvez ajouter un autre .gitignore fichier comme suit:

racine/lib/folderwithMyFiledll

!myfile.dll

plus d'infos ici

Un préfixe optionnel "!" qui annule le motif; tout fichier correspondant exclu par un modèle précédent sera à nouveau inclus. Mettez une barre oblique inverse ("\") devant le premier "!" pour les modèles qui commencent par un "!" littéral, par exemple, "! important! .txt". Il est possible de ré-inclure un fichier si un répertoire parent de ce fichier est exclu si certaines conditions sont remplies. Voir la section NOTES pour plus de détails.

7
kamayd