Wanneer je met Git werkt, is het belangrijk om je repository schoon en georganiseerd te houden, niet alleen als een best practice, maar ook essentieel voor soepele samenwerking en efficiënte versiebeheer. Daar komt .gitignore
van pas. Dit handige bestand vertelt Git welke bestanden genegeerd moeten worden, waardoor onnodige rommel voorkomen wordt en je commits gericht blijven op wat echt belangrijk is.
Zonder .gitignore
kan je repository snel gevuld raken met tijdelijke bestanden, logs en andere zaken die niet thuishoren in versiebeheer. Nog erger is dat je per ongeluk gevoelige informatie zou kunnen delen.
In deze tutorial leer je hoe je een .gitignore
bestand kunt maken en gebruiken om je project opgeruimd te houden, veelvoorkomende valkuilen te vermijden en effectiever te werken met Git. Laten we beginnen!
Wat is een .gitignore Bestand?
Een .gitignore
bestand is een configuratiebestand dat in Git wordt gebruikt om het versiebeheersysteem te instrueren welke bestanden of mappen genegeerd moeten worden wanneer er wijzigingen worden gestaged of geüpload.
Het voorkomt onnodige bestanden, zoals tijdelijke, door het systeem gegenereerde of build-gerelateerde bestanden, die je repository zouden kunnen vervuilen. Door je repository schoon te houden wordt samenwerken eenvoudiger en wordt ervoor gezorgd dat alleen essentiële bestanden worden gevolgd.
Het .gitignore
bestand is een eenvoudig tekstbestand dat wordt geplaatst in de hoofdmap van je Git repository. Het bevat patronen die Git vertellen welke bestanden of mappen genegeerd moeten worden. Deze patronen kunnen worden aangepast aan de behoeften van je project, waardoor je een goed georganiseerde repository kunt behouden.
Nieuw met Git en GitHub? Krijg een beginner-vriendelijke introductie tot versiebeheer met deze GitHub en Git zelfstudie.
Hier zijn enkele veelvoorkomende categorieën van bestanden en mappen die je zou moeten overwegen te negeren:
- Build artifacts: Bestanden gegenereerd tijdens het bouwproces die opnieuw gemaakt kunnen worden vanuit de broncode, zoals:
dist/
,build/
(Frontend en backend bouwresultaten)target/
(Java en andere gecompileerde taalbouws)- Dependencies: Pakketbeheersystemen creëren mappen voor geïnstalleerde bibliotheken, die niet gevolgd moeten worden:
node_modules/
(Node.js)vendor/
(PHP, Composer).venv/
,venv/
(Python virtuele omgevingen)- Systeemspecifieke bestanden: Deze bestanden worden automatisch gegenereerd door het besturingssysteem en dragen niet bij aan het project:
.DS_Store
(macOS)Thumbs.db
(Windows)- IDE-configuratiebestanden: Elke ontwikkelaar kan een andere ontwikkelomgeving gebruiken, dus hun persoonlijke instellingen moeten niet worden opgenomen in versiebeheer:
.vscode/
(VS Code).idea/
(JetBrains IDE’s).project
,.settings/
(Eclipse)- Logs en tijdelijke bestanden: Logs, caches en tijdelijke bestanden moeten worden genegeerd om onnodige rommel te voorkomen:
*.log
,npm-debug.log*
,yarn-debug.log*
,yarn-error.log*
(Logs van verschillende tools)*.tmp
,*.bak
(Tijdelijke en back-upbestanden).mypy_cache/
,__pycache__/
(Python-caches).ipynb_checkpoints/
(Jupyter Notebook checkpoints)- Omgevings- en geheime bestanden: Gevoelige referenties en omgevingsspecifieke configuraties mogen nooit worden toegevoegd:
.env
,.env.local
,.env.development
,.env.production
secrets.json
,config.json
(Gevoelige configuratiebestanden)- Database- en opslagbestanden: Deze worden lokaal gegenereerd en mogen niet worden opgenomen in versiebeheer:
*.sqlite
,*.sqlite3
,*.db
(SQLite-databasebestanden)dump.rdb
(Redis-database dump)- CI/CD- en dekkingsbestanden: Testdekkingrapporten en andere CI/CD-artefacten moeten worden genegeerd:
coverage/
,*.lcov
(Code-dekkingsrapporten).tox/
,.pytest_cache/
(Python testbestanden)
Moet je Git installeren? Volg onze stapsgewijze gidsa in deze Git-installatiehandleiding om snel aan de slag te gaan.
Syntax van .gitignore
Zoals vermeld, bevatten .gitignore
-bestanden patronen die worden vergeleken met bestandsnamen in je repository om te bepalen of ze al dan niet genegeerd moeten worden.
Basis-syntaxis
In de kern bestaat het .gitignore
-bestand uit regels, die elk een te negeren patroon vertegenwoordigen. Patronen kunnen overeenkomen met:
- Specifieke bestanden
- Bestandstypes
- Mappen
Het bestand ondersteunt ook opmerkingen, die kunnen worden toegevoegd door een regel te starten met #
, en lege regels om de leesbaarheid te verbeteren.
Dit is een overzicht van de basisstructuur:
- Negeer een specifiek bestand:U kunt de bestandsnaam rechtstreeks opgeven om deze te negeren.
secrets.txt
- Negeer een volledige map: Door een
/
toe te voegen aan het einde van de mapnaam, kun je alles binnen die map negeren.
logs/
- Negeer alle bestanden van een specifiek type: Wildcards (
*
) kunnen worden gebruikt om alle bestanden met een specifieke extensie te negeren.
*.py
- Negatie: Je kunt
!
gebruiken om een patroon te negen en specifieke bestanden of mappen expliciet bij te houden die anders genegeerd zouden worden.
*.txt # Ignores all .txt files !readme.txt # Except for readme.txt
Hoe je een .gitignore-bestand maakt en gebruikt
Het maken en gebruiken van .gitignore
is vrij eenvoudig. In dit gedeelte zal ik de stappen doorlopen.
Het maken van een .gitignore-bestand
Stap 1: Navigeer naar de hoofdmap van je repository. Het .gitignore
bestand wordt meestal geplaatst in de hoofdmap van een Git-project. Open je terminal of opdrachtregel en navigeer naar de hoofdmap van je Git-repository:
cd /path/to/your/repo
Stap 2: Maak het .gitignore-bestand aan. Eenmaal in de hoofdmap, maak het .gitignore
bestand aan met behulp van een teksteditor of door een commando in de terminal uit te voeren, zoals:
touch .gitignore
Stap 3: Voeg patronen toe aan het bestandOpen het .gitignore
bestand in een teksteditor en voeg de benodigde patronen toe om bestanden of mappen te negeren. Elke regel vertegenwoordigt een ander patroon.
Hier is een voorbeeld van een .gitignore
bestand dat vaak wordt gebruikt in een basisproject:
# Negeer node_modules en afhankelijkheidsmappen node_modules/ vendor/ # Negeer build-artefacten dist/ build/ *.log # Negeer systeem gegenereerde bestanden .DS_Store Thumbs.db # Negeer omgevings- en geheime bestanden .env config.json
Zodra je de benodigde patronen hebt toegevoegd, sla het bestand op. Git zal deze bestanden nu automatisch negeren bij het toevoegen of committen van wijzigingen.
Stap 4: Voeg het bestand toe aan de repository. Het is belangrijk om het .gitignore
bestand aan de repository toe te voegen, zodat alle medewerkers dezelfde negeerregels gebruiken. Dit zorgt voor consistentie binnen het project voor iedereen die betrokken is.
git add .gitignore git commit -m "Add .gitignore file" git push
Zodra het .gitignore
bestand is toegevoegd, stel je gedeelde negeerregels vast voor het hele team.
Wil je leren hoe je kunt pushen en pullen in Git? Leer hoe je jouw werk kunt synchroniseren met externe repositories in deze Git push en pull tutorial.
Best Practices voor het Gebruik van .gitignore
Hoewel het maken van een .gitignore
bestand een eenvoudig onderdeel is van het onderhouden van een schone Git-repository, moeten verschillende best practices worden gevolgd om ervoor te zorgen dat het bestand effectief wordt beheerd na verloop van tijd.
Gebruik een globale .gitignore
Voor ontwikkelaars die aan meerdere projecten werken, zijn er specifieke bestanden die je mogelijk wilt uitsluiten van elke repository, ongeacht het projecttype.
In plaats van ze toe te voegen aan het .gitignore
bestand van elk project, kun je een globale .gitignore
configureren die van toepassing is op alle repositories op jouw systeem.
Om een globaal .gitignore
bestand te configureren:
- Maak een
.gitignore_global
bestand:
touch ~/.gitignore_global
- Voeg patronen toe voor bestanden die je globaal wilt negeren, zoals:
.DS_Store *.log /.vscode/ /.idea/
- Stel Git in om de globale
.gitignore
te gebruiken:
git config --global core.excludesfile ~/.gitignore_global
Maak gebruik van bestaande sjablonen
In plaats van voor elk nieuw project een .gitignore
-bestand helemaal opnieuw te maken, kun je vooraf geconfigureerde .gitignore
-sjablonen gebruiken voor specifieke talen, frameworks of omgevingen.
Een van de beste bronnen voor deze sjablonen is de officiële .gitignore repository van GitHub, waar je .gitignore
-bestanden kunt vinden die zijn afgestemd op honderden programmeertalen en frameworks.
Controleer regelmatig de .gitignore
Naarmate projecten evolueren, moeten er mogelijk nieuwe bestanden en mappen worden opgenomen in het .gitignore
bestand. Het is belangrijk om regelmatig uw bestand te bekijken en bij te werken om de actuele staat van uw projecten weer te geven.
Enkele scenario’s waarin u het .gitignore
bestand moet bijwerken zijn:
- Het aannemen van nieuwe tools of bibliotheken die extra bestanden genereren (bijv. overschakelen naar een nieuw buildsysteem).
- Refactoren of herorganiseren van mappen, wat kan resulteren in nieuwe bestanden die moeten worden uitgesloten.
- Verwijderen van verouderde bestanden of mappen die niet langer deel uitmaken van het project.
Problemen oplossen met .gitignore
Zelfs na het instellen van een .gitignore
bestand, kun je scenario’s tegenkomen waarin specifieke bestanden worden gevolgd, of patronen niet lijken te werken zoals verwacht. Deze sectie behandelt twee veelvoorkomende probleemgebieden en hoe deze op te lossen.
Bestanden volgen die al zijn gecommitteerd
Het .gitignore
bestand past niet met terugwerkende kracht toe op bestanden die al zijn gecommitteerd.
Als je een patroon aan .gitignore
toevoegt nadat bepaalde bestanden al zijn gecommitteerd, zal Git ze blijven volgen, ook al komen ze overeen met het patroon in het .gitignore
bestand.
Om te stoppen met het volgen van bestanden die al zijn gecommitteerd, volg je deze stappen:
- Verwijder de bestanden uit de tracking van Git: Gebruik het
git rm
commando om ze uit het repository te verwijderen terwijl ze in je werkmap blijven.
git rm --cached <file_or_directory_name>
- Commit de wijzigingen: Nadat de bestanden uit de tracking van Git zijn verwijderd, commit de wijzigingen om ervoor te zorgen dat de bestanden niet langer deel uitmaken van de versiebeheergeschiedenis.
git commit -m "Stop tracking ignored files"
- Duw de wijzigingen naar het externe repository: Duw tot slot de wijzigingen naar het externe repository om ervoor te zorgen dat de bestanden niet langer worden bijgehouden.
git push
Na het uitvoeren van deze stappen zal Git stoppen met het volgen van de bestanden. Het geüploade bestand zal nog steeds in je werkmap staan, maar zal worden genegeerd door toekomstige commits op basis van je .gitignore
-patronen.
Zorg ervoor dat de patronen werken
Soms kan het voorkomen dat specifieke bestanden die je verwachtte te negeren nog steeds in de status van Git verschijnen of worden gevolgd.
Volg deze stappen om ervoor te zorgen dat je .gitignore
-patronen correct werken:
- Controleer de status van je bestanden: Gebruik het
git status
-commando om te zien welke bestanden worden gevolgd door Git. Dit zal je helpen verifiëren of je genegeerde bestanden nog steeds vermeld staan.
git status
- Zorg ervoor dat het patroon correct is: Controleer de syntaxis van je
.gitignore
-patronen om ervoor te zorgen dat ze correct zijn opgemaakt. Bijvoorbeeld: - Zorg ervoor dat je het juiste map pad gebruikt (relatief aan de hoofdmap van het repository).
- Voeg een
/
toe om specifieke mappen te targeten en te voorkomen dat alle bestanden met vergelijkbare namen worden bijgehouden.
- Vernieuw de cache: Als je recentelijk je
.gitignore
-bestand hebt bijgewerkt en de wijzigingen niet worden toegepast, kan het zijn dat Git vasthoudt aan zijn vorige cache. Om de cache te vernieuwen, voer je het volgende commando uit:
git rm -r --cached . git add . git commit -m "Refresh .gitignore"
- Controleer op uitzonderingen: Soms kan een specifiek patroon in
.gitignore
worden overschreven door een specifieker patroon ergens anders in het bestand. Controleer uw regels om ervoor te zorgen dat er geen conflicterende patronen zijn.
Op zoek naar een snelle Git referentie? Houd essentiële commando’s binnen handbereik met deze Git spiekbrief.
Conclusie
Een .gitignore
bestand lijkt misschien klein, maar het speelt een grote rol bij het schoon en beheersbaar houden van uw Git repository. Door onnodige bestanden te negeren—zoals afhankelijkheden, build artifacts en systeem gegenereerde bestanden—zorgt u ervoor dat uw project georganiseerd blijft en vrij van rommel.
In deze tutorial heb je geleerd hoe je een .gitignore
bestand maakt, patronen toevoegt en best practices toepast om je repo efficiënt te houden. Met deze vaardigheden voorkom je hoofdpijn door versiebeheer en maak je de samenwerking soepeler voor iedereen in je team.
Als je je Git-vaardigheden wilt verdiepen, kijk dan naar Git Fundamentals voor een gestructureerd leerpad. Je kunt ook praktische cursussen verkennen zoals Foundations of Git en Introduction to GitHub Concepts om een solide begrip van versiebeheer en samenwerkingsworkflows op te bouwen!