Hoe negeer ik extensies? * en ** gebruiken

*.log negeert namen die eindigen op .log binnen de reikwijdte van een .gitignore. Bepaal bij één map of onderliggende paden meetellen.

1. Negeer een extensie in het hele project

In het .gitignore van de hoofdmap raakt dit app.log, logs/app.log en src/app.log. * staat voor nul of meer tekens behalve /; zonder schuine streep controleert Git namen op elke diepte onder dit .gitignore.

Schrijf elk patroon op een eigen regel. Dit zijn Git-patronen, geen shellcommando’s of reguliere expressies: *.{log,tmp} is geen lijst extensies in deze syntaxis.

*.log

2. Beperk het patroon tot een map

Het eerste alternatief raakt logs/app.log maar niet logs/archive/app.log. Het tweede raakt beide: /**/ staat nul of meer tussenliggende mappen toe. Geen van beide raakt src/app.log.

Test één alternatief tegelijk. /logs/ kan geneste bestanden al verbergen door de bovenliggende map uit te sluiten; controleer andere regels voordat je een jokerteken beoordeelt.

/logs/*.log
/logs/**/*.log

Hoe negeer ik mappen? folder/ tegenover /folder/

3. Controleer representatieve paden

Kies één regel, maak de drie niet-gevolgde voorbeeldbestanden en bekijk de overeenkomende patronen:

git check-ignore -v -- logs/app.log logs/archive/app.log src/app.log

Met /logs/**/*.log horen beide paden onder logs te passen, maar src/app.log niet. Een patroon dat met ! begint is een uitzondering; houd de bovenliggende mappen doorzoekbaar.

Waarom behoudt ! geen bestand in een genegeerde map?

Raadpleeg de officiële bronnen voor het precieze gedrag en meer informatie: Git-documentatie · Documentatie van git check-ignore