Testeur de .gitignore
Collez vos règles .gitignore et une liste de chemins de fichiers pour voir exactement quels fichiers sont ignorés, par quelle règle et à quelle ligne, ainsi que les règles de négation silencieusement inactives parce qu’un dossier parent est déjà ignoré.
🔒 Entièrement traité dans votre navigateur — rien de ce que vous saisissez ici n'est jamais téléchargé.
Résultat
« Pourquoi ma négation .gitignore ne fonctionne-t-elle pas ? » est l’une des questions git les plus fréquentes, et la réponse honnête est presque toujours la même : un motif `!` qui tente de réinclure un fichier dans un dossier qu’une règle antérieure exclut déjà ne peut jamais fonctionner, car git ne descend pas dans les dossiers ignorés pour y revérifier quoi que ce soit. Cet outil réimplémente l’algorithme de filtrage .gitignore réel de git — et non une approximation — précisément pour détecter et expliquer cette situation, ainsi que toutes les autres règles de motif que git prend en charge.
Collez vos règles .gitignore dans une boîte et une liste de chemins de fichiers (un par ligne, par exemple `dist/index.js`, `node_modules/foo/bar.js` ou `.env`) dans l’autre, et l’outil évalue chaque chemin exactement comme git le ferait : les commentaires et les lignes vides sont ignorés, les espaces en fin de ligne sont supprimés sauf s’ils sont échappés, un `!` en tête nie une règle, un `/` en tête l’ancre à la racine au lieu de la laisser correspondre à n’importe quelle profondeur, un `/` en fin la limite aux dossiers, et `*`, `?`, les classes de caractères `[abc]` ainsi que `**` (qui traverse les frontières de dossiers) fonctionnent tous conformément aux règles documentées des motifs glob.
Fait fondamental : les chemins sont vérifiés dossier par dossier depuis la racine, exactement comme le moteur interne d’ignore de git — et non en testant le chemin complet contre chaque règle isolément. C’est ce qui permet de détecter correctement le cas de la négation inactive : si `dist/` est ignoré à la ligne 3 et qu’une règle `!dist/keep.js` ultérieure essaie de sauver un fichier à l’intérieur, cet outil indique que `dist/keep.js` est toujours ignoré, donne la règle de la ligne 3 comme raison et signale séparément la négation comme masquée au lieu de laisser croire silencieusement qu’elle a fonctionné.
Le tableau de résultat attribue à chaque chemin testé sa propre ligne avec un verdict clair oui/non ignoré, le texte exact et le numéro de ligne de la règle qui le décide, et — chaque fois que c’est pertinent — une note en langage simple qui explique une négation masquée ou une règle héritée d’un dossier parent. C’est ce niveau de détail qui transforme un .gitignore déroutant en un fichier sur lequel vous pouvez réellement raisonner avant de commiter.