2017-02-10 2 views
0

J'essaie de créer un fichier gitignore pour git qui ignore tout fichier .file dans n'importe quel répertoire /. Je veux ignorer toutes les instances de .file dans les instances d'un répertoire /. Ce sont des formats de fichiers et des répertoires spécifiques.Ignorer les fichiers dans un sous-répertoire en utilisant gitignore

Par exemple, .file est le format de fichier de new.file. Le répertoire/est le répertoire qui contient new.file. Le chemin est dir/new.file.

J'ai besoin de git pour ignorer les instances possibles de .file dans les instances possibles de dir /, qui peuvent apparaître arbitrairement.

J'ai testé ces:

**/dir/*.file 
*/dir/*.file 
*/dir/**/*.file 
dir/**/*.file 

Cependant, chaque fois que je crée un foo/dir/new[*].file, j'ai pu git add et aussi git commit le fichier.

Toutes les nouvelles instances du format de fichier .file dans un répertoire/répertoire sont ajoutées au stockage intermédiaire avec git add . ou git add -A. Je m'attends à git pour ignorer ces fichiers.

Répondre

0

**/dir/**/*.file semble fonctionner comme vous le spécifiez, au moins dans mes tests. Est-il possible que vous ayez déjà les fichiers en question dans le repo et que vous deviez les supprimer en premier?

git rm --cached <filepath> 
+0

Je suppose que gitignore empêche 'git' d'ajouter le fichier au stockage intermédiaire. Je vais essayer de clarifier ma question. – gitgudstud

+0

Je vois maintenant. Je trouve que '**/dir/**/*. File' semble fonctionner pour moi comme vous le spécifiez. Est-il possible que vous ayez déjà les fichiers en question dans le repo et que vous deviez les supprimer en premier? 'git rm --cache ' pourrait aider avec ça. –

+0

Cela fonctionne. J'ai testé cela à différents niveaux. Premièrement, 'foo/dir/new.file' ne fonctionne pas. Deuxièmement, 'Two/Three/Four/dir/new.file' ne fonctionne pas. Troisièmement, 'Two/Three/Four/dir/Five/new.file' ne se déroule pas. – gitgudstud