Waarom werkt .gitignore niet?

Meestal volgt Git het bestand al, staat de regel elders of past het patroon niet bij het verwachte pad.

1. Controleer of Git het bestand al volgt

Negeerregels zijn voor bestanden die bewust niet worden gevolgd. Een nieuw patroon verwijdert een eerder gecommit bestand niet uit de Git-index.

git ls-files -- path/to/file

Verschijnt het pad, dan wordt het bestand gevolgd. Lees de bijbehorende handleiding:

Hoe negeer ik bestanden die Git al volgt?

2. Zoek de overeenkomende regel

Voer de controle uit vanuit je repository met het echte relatieve pad. De uitvoer toont het bronbestand met de regel en het regelnummer.

git check-ignore -v -- path/to/file

Gebruik --no-index voor een bestand dat al wordt gevolgd:

git check-ignore -v --no-index -- path/to/file

3. Controleer locatie en volgorde

Een / aan het begin verankert het patroon aan de map van het .gitignore-bestand; een / aan het eind beperkt het tot mappen. Bij gelijke prioriteit kunnen latere regels eerdere overschrijven. ! kan een pad opnieuw opnemen, maar geen bestand in een map die Git niet meer doorloopt omdat die is uitgesloten.

Waarom behoudt ! geen bestand in een genegeerde map?

4. Controleer andere bronnen

Git leest ook .git/info/exclude en het globale bestand uit core.excludesFile. Een bestand kan dus worden genegeerd zonder regel in het .gitignore van je project. Controleer de globale configuratie:

git config --get core.excludesFile

Waarom negeren globale Git-regels een bestand?

Raadpleeg de officiële bronnen voor het precieze gedrag en meer informatie: Git-documentatie