Problème → Solution ~1 min de lecture
Réinclure un fichier dans un dossier ignoré
Git refuse d’ajouter build/schema.json malgré une exception dans le .gitignore ? Vérifiez la règle qui exclut son dossier parent.

Un fichier non suivi, build/schema.json, reste impossible à ajouter malgré une exception dans le .gitignore. Avec les règles /build/ puis !/build/schema.json, le problème vient du dossier parent : Git ne peut pas réinclure un fichier si ce dossier reste exclu.
La commande git check-ignore -v build/schema.json permet de vérifier la règle responsable. Elle indique le fichier de configuration, le numéro de ligne et la règle applicable : ici, /build/.
Dans le .gitignore à la racine du dépôt, remplacez ces règles par /build/* puis !/build/schema.json. La première ignore le contenu direct du dossier sans exclure le dossier lui-même. La seconde peut alors réinclure le fichier, qui devient ajoutable avec git add build/schema.json.
Pour garder un fichier dans un dossier ignoré, ignorez le contenu du dossier plutôt que le dossier lui-même.