J'essaie d'éviter le motif suivant dans mon .gitignore
fichier.
MyPrject/WebApp/Scripts/special/*.js
MyPrject/WebApp/Scripts/special/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*/*/*/*.js
Nous avons essayé:
MyPrject/WebApp/Scripts/special/**.js
MyPrject/WebApp/Scripts/special/**/*.js
Cela n'a cependant pas fonctionné. Ceci est git sur Windows. Y a-t-il un moyen plus concis de faire cela sans répéter les choses?
À partir de la version 1.8.2, ceci:
MyPrject/WebApp/Scripts/special/**/*.js
Devrait fonctionner selon cette réponse . Cela fonctionne également pour moi dans Windows 7 avec Sourcetree 1.6.12.0 et la version de git qu'il installe (1.8.4-preview20130916).
Pour gitignorer tous les fichiers et dossiers d’un répertoire de manière récursive:
MyPrject/WebApp/Scripts/special/**
Suite à la page de manuel de gitignore:
[...] git considère le modèle comme un glob Shell qui convient à la consommation de fnmatch (3) avec l'indicateur FNM_PATHNAME: les caractères génériques dans le modèle ne correspondront pas à/dans le chemin.
Donc, cela signifie clairement qu'il n'y a aucun moyen de spécifier ne certaine quantité de répertoires entre deux chaînes, comme entre special
et js
.
Néanmoins, vous pouvez avoir un .gitignore
fichier par répertoire, alors peut-être dans votre cas le contenu suivant
*.js
à l'endroit suivant
MyPrject/WebApp/Scripts/special/.gitignore
serait suffisant?