Hoe .gitignore in te stellen als een witte lijst

0
153

Het .gitignore-bestand is een cruciaal onderdeel van elke Git-repository; het voorkomt dat ongewenste bestanden worden gevolgd en gedeeld in bronbeheer. Meestal wil je bepaalde bestanden en mappen negeren, maar soms is het makkelijker om het andersom te doen.

Gebruik van .gitignore als een witte lijst

Regelmatig gebruik van .gitignore is eenvoudig, geef het een bestandsnaam of een overeenkomend jokerteken en dat bestand wordt geblokkeerd. Als je het echter als een witte lijst gebruikt, wordt het een beetje ingewikkelder.

Ten eerste heb je de twee volgende richtlijnen bovenaan het bestand nodig, die alles standaard blokkeren met een allesomvattend jokerteken *:

* !*/

De tweede regel is nodig omdat whitelisting is niet zo eenvoudig als blokkeren. Vanwege de manier waarop Git met deze bestanden omgaat, zal het, als het ziet dat een map is geblokkeerd, niet eens proberen iets in de map te controleren om te zien of de blokkering later is opgeheven. Het slaat het gewoon over en negeert alle regels in die map.

Dus de tweede regel hier vertelt Git om specifiek submappen te controleren. Het uitroepteken! wordt gebruikt om de regel om te zetten in een witte lijst. Het komt overeen met alle mappen, maar omdat het met niets in die mappen overeenkomt, zal Git nog geen bestanden volgen met alleen deze twee regels alleen.

Dit maakt setups zoals de volgende mogelijk:

p> * !*/# track dit bestand !.gitignore # whitelist alles in ./config/!config/Advertisement

Het .gitignore-bestand zelf staat in de hoofddirectory, dus het kan gewoon op de witte lijst worden gezet. Voor het op de witte lijst zetten van mappen is gewoon een slash nodig en Git keert terug naar normaal in die map, waarbij de vorige wildcard voor alle blokkeringen wordt overschreven.

Als je een map en al zijn inhoud expliciet op de witte lijst wilt zetten, moet je de dubbel jokerteken, !config/**. Een enkele wildcard zou niet recursief in submappen worden verspreid. Dit zal alle andere blokkeringsregels overschrijven.

Debugging .gitignore

Als je problemen hebt met je configuratie, kan het debuggen met het check-ignore Git commando:

git check-ignore -v testfile.json