In Git is het .gitignore-bestand een essentieel hulpmiddel dat je helpt beheren welke bestanden en mappen in je versiebeheerde repository worden opgenomen. Met .gitignore kunnen ontwikkelaars voorkomen dat onnodige bestanden worden gevolgd, zoals logbestanden, afhankelijkheden of systeemgebonden bestanden. Deze gids laat zien hoe je een .gitignore-bestand efficiënt maakt en gebruikt.
Het .gitignore-bestand vertelt Git welke bestanden of mappen moeten worden genegeerd in een project. Het stelt ontwikkelaars in staat om bestanden die niet nodig zijn voor het project uit te sluiten, waardoor de versiegeschiedenis schoner en efficiënter blijft.
Rommel voorkomen: voorkom dat grote of onnodige bestanden je repository vervuilen.
Privacy: houd gevoelige informatie zoals API-sleutels, inloggegevens of configuratiebestanden buiten versiebeheer.
Efficiëntie: stroomlijn samenwerking door ervoor te zorgen dat alleen essentiële bestanden worden gevolgd en gedeeld.
Een .gitignore-bestand maken is eenvoudig.
1. Navigeer naar je Git-repository.
Open je terminal en navigeer naar de hoofdmap van je Git-project.
cd /path/to/your/git/project
2. Maak het .gitignore-bestand.
Je kunt het bestand maken met de volgende opdracht:
touch .gitignore
3. Open en bewerk het .gitignore-bestand.
Open het .gitignore-bestand in je teksteditor en voeg de bestanden of mappen toe die Git moet negeren. Bijvoorbeeld:
# node_modules-map negeren
node_modules/
# Logbestanden negeren
*.log
# .env-bestanden negeren
.env
4. Sla de wijzigingen op en commit ze.
Nadat je het bestand hebt bewerkt, sla je het op en commit je de wijzigingen in Git.
git add .gitignore
git commit -m "Add .gitignore"
Er zijn verschillende veelvoorkomende patronen die gebruikt worden in .gitignore-bestanden om bestanden of mappen uit te sluiten. Hieronder enkele veelgebruikte voorbeelden.
Bestanden negeren op basis van extensie:
*.log # Alle logbestanden negeren
*.tmp # Alle tijdelijke bestanden negeren
*.swp # Swap-bestanden van teksteditors negeren
Specifieke mappen negeren:
/logs/ # De logs-map negeren
/temp/ # De temp-map negeren
Verborgen bestanden negeren:
.* # Alle verborgen bestanden negeren die met een punt beginnen (bijv. .DS_Store)
Bestanden in een specifieke map negeren:
/docs/*.pdf # Alle PDF-bestanden in de docs-map negeren
Een patroon negeren (bestanden opnemen die eerder uitgesloten waren):
*.pdf # Alle PDF-bestanden negeren
!resume.pdf # resume.pdf niet negeren
Hoewel .gitignore meestal in de hoofdmap van je repository wordt aangemaakt, kun je Git ook configureren om bestanden globaal te negeren, waarvoor het geldt in al je repositories.
Als je bestanden alleen in de huidige repository wilt uitsluiten, bewerk je eenvoudig het .gitignore-bestand van dat project. De uitsluiting geldt dan uitsluitend voor deze repository.
Om een globaal .gitignore-bestand te maken dat in alle repositories geldt, volg je deze stappen:
1. Maak een globaal .gitignore-bestand:
touch ~/.gitignore_global
2. Voeg patronen toe aan het globale .gitignore-bestand:
Bewerk het bestand en voeg patronen toe voor bestanden die je overal wilt negeren. Bijvoorbeeld:
*.log
*.tmp
.DS_Store
3. Configureer Git om het globale .gitignore-bestand te gebruiken:
git config --global core.excludesfile ~/.gitignore_global
Volg deze best practices om het meeste uit .gitignore te halen:
Maak een .gitignore-bestand zodra je een project start om te voorkomen dat onnodige bestanden worden gevolgd.
Houd je .gitignore overzichtelijk door verwante patronen te groeperen en opmerkingen toe te voegen. Bijvoorbeeld:
# Door het besturingssysteem gegenereerde bestanden
.DS_Store
Thumbs.db
# Node.js-afhankelijkheden
node_modules/
Gebruik .gitignore om ervoor te zorgen dat privébestanden zoals API-sleutels en configuratie-instellingen niet per ongeluk in versiebeheer terechtkomen.
Gebruik git status om te controleren of je .gitignore-bestand bestanden correct uitsluit. Als een bestand nog steeds gevolgd wordt, kan het zijn dat het al in de repository zat voordat het werd genegeerd.
Soms worden bestanden die genegeerd zouden moeten worden toch gevolgd. Hieronder staan enkele veelvoorkomende oorzaken en oplossingen.
Als een bestand al aan de repository was toegevoegd voordat het in .gitignore werd opgenomen, blijft Git het volgen. Om het volgen van het bestand te stoppen:
1. Verwijder het bestand uit Git zonder het lokaal te verwijderen:
git rm --cached filename
2. Voeg het bestand toe aan .gitignore.
3. Commit het bijgewerkte .gitignore-bestand en de verwijdering uit de cache:
git commit -m "Update .gitignore and remove cached files"
Git is hoofdlettergevoelig, dus zorg ervoor dat de patronen in je .gitignore exact overeenkomen met de bestandsnamen.
Bijvoorbeeld:
file.txt # Negeert file.txt maar niet File.txt
Om te controleren of een bestand correct wordt genegeerd, kun je de opdracht git check-ignore gebruiken:
git check-ignore -v filename
Deze opdracht toont de regel die verantwoordelijk is voor het negeren van een bepaald bestand.
Door .gitignore effectief te gebruiken, kun je beheren welke bestanden in je Git-repository worden opgenomen en ervoor zorgen dat alleen essentiële bestanden worden gevolgd. Volg de stappen in deze gids om je .gitignore-bestand te maken, aan te passen en problemen op te lossen voor efficiënt versiebeheer.