Cursus
Wanneer je aan een Git-repository werkt, is het normaal dat er niet-bijgehouden bestanden en mappen ontstaan die geen deel uitmaken van het versiesysteem van de repository. Denk aan tijdelijke bestanden, build-artifacts of andere lokaal aangemaakte bestanden die niet gecommit zijn. Na verloop van tijd kunnen deze bestanden je werkdirectory vervuilen, waardoor het lastiger wordt om een schone en overzichtelijke werkomgeving te behouden.
Om dit probleem aan te pakken, biedt Git het commando git clean, waarmee niet-bijgehouden bestanden en mappen worden verwijderd. In deze gids laat ik je zien hoe je git clean veilig gebruikt, welke opties er zijn en welke best practices helpen om onbedoelde verwijderingen te voorkomen terwijl je je Git-repository netjes houdt. Wil je verder leren, dan raad ik onze cursussen Foundations of Git en Introduction to GitHub Concepts aan om meer te leren over versiebeheer en het verschil tussen Git en GitHub.
git clean begrijpen
Het commando git clean is een handig hulpmiddel in Git dat niet-bijgehouden bestanden uit de werkdirectory verwijdert. Het is vooral nuttig wanneer je je werkdirectory in een maagdelijk schone staat wilt terugzetten, bijvoorbeeld voordat je van branch wisselt of na build-processen die tijdelijke bestanden genereren. Gebruik git clean echter met voorzichtigheid, want het verwijdert niet-bijgehouden bestanden en mappen permanent zonder ze naar de prullenbak te verplaatsen.
In tegenstelling tot git reset of git checkout, die gevolgde bestanden aanpassen, werkt git clean uitsluitend met bestanden en mappen die niet onder versiebeheer staan. Dit omvat:
-
Tijdelijke bestanden die door builds zijn aangemaakt
-
Logbestanden of gecachte data
-
Bestanden die in .gitignore staan (als je dit expliciet opgeeft met
-x)
Het commando git clean is nuttig om een opgeruimde werkdirectory te behouden en vormt een goede aanvulling op andere Git-commando’s zoals git reset en git checkout, die veranderingen in gevolgde bestanden beheren.
Ik vind de Complete Git Cheat Sheet een handige referentie voor veelgebruikte Git-commando’s.
Veelvoorkomende toepassingen van git clean
Het commando git clean is een handig hulpmiddel om je werkdirectory schoon te houden. Hieronder vind je enkele veelvoorkomende situaties waarin git clean veilig overbodige bestanden en mappen kan verwijderen.
Niet-bijgehouden bestanden verwijderen
Tijdens het werken in een Git-repository kunnen niet-bijgehouden bestanden zich na verloop van tijd opstapelen. De volgende opties helpen om ze te verwijderen:
-
git clean -f: Dwingt het verwijderen van niet-bijgehouden bestanden af. -
git clean -fd: Verwijdert niet-bijgehouden bestanden en niet-bijgehouden mappen. -
git clean -fx: Verwijdert niet-bijgehouden én genegeerde bestanden, zoals die in.gitignore.
Wees echter voorzichtig met de optie -fx, omdat die ook genegeerde bestanden verwijdert. Controleer altijd eerst met een dry-run (git clean -n) voordat je het commando uitvoert.
Interactieve modus
Het commando git clean -i start een interactieve modus waarmee je selectief niet-bijgehouden bestanden kunt verwijderen. Deze modus is handig wanneer je meer controle wilt over welke bestanden of mappen worden verwijderd.
Stel dat je aan een project werkt waarin je de wijzigingen in de map Olympics al hebt opgeslagen. Je hebt echter nieuwe databronnen toegevoegd met de namen 2024_Data en 2025_Data. Als je het commando git clean -i uitvoert, krijg je een prompt waarin je uit de volgende opties kunt kiezen om de niet-bijgehouden wijzigingen te verwijderen.
-
clean: Verwijder geselecteerde bestanden -
filter: Geef een patroon op voor bestanden om te verwijderen -
select: Kies afzonderlijke bestanden op nummer -
quit: Afsluiten zonder iets te verwijderen

git clean -i interactieve modus. Afbeelding door de auteur.
Dry-run voor de veiligheid
De optie git clean -n is een nuttige veiligheidsmaatregel, omdat deze een "dry-run" uitvoert: er wordt een lijst getoond van niet-bijgehouden bestanden en mappen die zouden worden verwijderd, zonder ze daadwerkelijk te verwijderen. Zo kun je de wijzigingen eerst beoordelen voordat je ze doorvoert.
In het onderstaande voorbeeld toont het commando git clean -n de bestanden die verwijderd zouden moeten worden, maar verwijdert ze niet.

git clean -n voor een dry-run. Afbeelding door de auteur.
Combineren met git reset
Om een Git-werkdirectory volledig te resetten, kun je git reset en git clean combineren, waarbij:
-
git reset --hard: Gevolgde bestanden terugzet naar de laatst gecommitte status en lokale wijzigingen weggooit. -
git clean -fd: Niet-bijgehouden bestanden en mappen verwijdert, zodat alleen gecommitte bestanden overblijven.
Deze combinatie zorgt voor een volledig schone werkdirectory, handig bij het wisselen van branch, het terugdraaien van experimentele wijzigingen of het voorbereiden op een frisse start.
Bekijk ook onze tutorial Git Pull Force: How to Overwrite a Local Branch With Remote om de best practices te leren voor het overschrijven van lokale wijzigingen.
Stapsgewijze handleiding voor het gebruik van git clean
Volg deze stappen om je Git-repository veilig op te schonen en ongewenste niet-bijgehouden bestanden en mappen te verwijderen.
Stap 1: Controleer de huidige status
Voer vóór het opschonen git status uit om de huidige status van je repository te controleren en te zien welke bestanden niet worden bijgehouden.
git status

git status om de huidige status van de repository te controleren. Afbeelding door de auteur.
Stap 2: Bekijk vooraf wat wordt verwijderd
Gebruik vóór het uitvoeren van een verwijdercommando git clean -n om te bekijken wat er zal worden verwijderd.
git clean -n

git clean -n om te bekijken wat je verwijdert. Afbeelding door de auteur.
Stap 3: Verwijder niet-bijgehouden bestanden
Voer git clean -f uit om niet-bijgehouden bestanden te verwijderen als de preview er goed uitziet.
git clean -f

Verwijder niet-bijgehouden wijzigingen met git clean -f. Afbeelding door de auteur.
Stap 4: Verwijder niet-bijgehouden mappen
Gebruik git clean -fd om niet-bijgehouden mappen te verwijderen.
git clean -fd

Verwijder niet-bijgehouden mappen met git clean -fd. Afbeelding door de auteur.
Stap 5: Verwijder genegeerde bestanden
Gebruik het commando git clean -fx om zowel niet-bijgehouden als genegeerde bestanden te verwijderen.
git clean -fx
Stap 6: Gebruik de interactieve modus voor selectief opschonen
Wil je meer controle, gebruik dan git clean -i voor interactief verwijderen. In deze modus kun je per bestand kiezen wat je wilt verwijderen.
Git clean -i

git clean -i interactieve modus voor selectief opschonen. Afbeelding door de auteur.
git clean vs. andere Git-commando’s
Het commando git clean wordt vaak vergeleken met andere Git-commando’s die bestanden wijzigen of resetten. De onderstaande tabel laat de belangrijkste verschillen zien:
| Command | Function |
|---|---|
git clean |
Verwijdert niet-bijgehouden bestanden en mappen permanent. |
git reset |
Zet gevolgde bestanden terug naar een eerdere staat en beïnvloedt gestagede en gecommitte wijzigingen. |
git checkout (of git restore) |
Gooi wijzigingen in gevolgde bestanden weg, maar verwijder ze niet. |
git stash |
Slaat zowel gevolgde als niet-bijgehouden wijzigingen tijdelijk op voor later gebruik. |
Best practices voor Git clean
Volg deze best practices om git clean veilig en effectief te gebruiken:
-
Gebruik dry-runs (-n) vóór verwijdering: Gebruik altijd de optie
git clean -nom een dry-run uit te voeren voordat jegit cleandraait. Zo kun je vooraf bekijken welke bestanden worden verwijderd zonder ze daadwerkelijk te verwijderen. -
Let op genegeerde bestanden: Wees voorzichtig met de optie
-x, die genegeerde bestanden verwijdert. Dit kan belangrijke configuratiebestanden in.gitignoreverwijderen. Als je genegeerde bestanden wilt verwijderen, gebruik dangit clean -fx. -
Combineer met Git reset voor volledige opschoning: Combineer
git resetmetgit cleanom je repository volledig te resetten, waarbijgit reset --hardgevolgde bestanden herstelt naar de laatst gecommitte staat engit clean -fdniet-bijgehouden bestanden en mappen verwijdert. -
Gebruik interactieve modus (-i) voor veiliger verwijderen: Gebruik in plaats van blindelings verwijderen de interactieve modus (
git clean -i) om te beoordelen en selecteren wat je wilt verwijderen.
Mogelijke risico’s en voorzorgsmaatregelen
Het gebruik van git clean kan riskant zijn als je niet zorgvuldig te werk gaat, omdat bestanden permanent worden verwijderd zonder ergens opgeslagen te worden. Enkele belangrijke risico’s en voorzorgsmaatregelen:
-
Bestanden worden permanent verwijderd: In tegenstelling tot
git stash, dat wijzigingen tijdelijk opslaat, verwijdertgit cleanniet-bijgehouden bestanden en mappen permanent. Eenmaal verwijderd, kun je deze bestanden niet via Git herstellen. Als je de bestanden later mogelijk nodig hebt, overweeg dan om ze te stashen of te back-uppen voordat jegit cleanuitvoert. -
Wees voorzichtig met de -x-optie: Met
git clean -fxverwijder je genegeerde bestanden, waaronder mogelijk belangrijke configuratiebestanden die in.gitignorestaan of dependency-caches zoalsnode_modules/envenv/. Het per ongeluk verwijderen hiervan kan builds of ontwikkelomgevingen breken. Gebruik deze optie alleen als het echt nodig is. -
Voer eerst een dry-run uit: Voer altijd eerst een dry-run uit met
git clean -nvoordat jegit clean -fdraait. Zo kun je vooraf bekijken welke bestanden worden verwijderd en voorkom je dat je per ongeluk belangrijke bestanden weghaalt. -
Alternatieve aanpakken: In sommige situaties is
git stashgeschikter dangit clean. Metgit stash -ustash je niet-bijgehouden bestanden (exclusief genegeerde) om ze later terug te kunnen halen, en metgit stash popherstel je de gestashte wijzigingen indien nodig. Dit is nuttig wanneer je van branch moet wisselen of je werkplek wilt opruimen zonder wijzigingen definitief te verliezen.
Conclusie
Een goed onderhouden codebase laat zien dat je oog hebt voor detail, efficiënt werkt en digitale assets verantwoord beheert. Werkgevers zoeken ontwikkelaars die best practices begrijpen, zoals git clean -n gebruiken vóór het verwijderen, voorzichtig omgaan met genegeerde bestanden met -x en veilige alternatieven zoals git stash benutten.
DataCamp-cursussen volgen is niet alleen een goede manier om te leren, maar laat ook aan werkgevers zien dat je softwareontwikkeling serieus neemt. Daarom raad ik je aan onze blogpost Top 20 Git Interview Questions and Answers for All Levels te bestuderen en onze nieuwe Git Fundamentals skill track te volgen om expert te worden in alles wat met Git te maken heeft.
Git Clean veelgestelde vragen
Wat doet git clean?
git clean verwijdert niet-bijgehouden bestanden en mappen uit je Git-werkdirectory.
Verwijdert git clean gecommitte bestanden?
Nee, git clean verwijdert alleen niet-bijgehouden bestanden en heeft geen invloed op gecommitte of gestagede bestanden.
Hoe kan ik bestanden vooraf bekijken voordat ik ze verwijder?
Gebruik git clean -n om een dry-run uit te voeren en te zien welke bestanden worden verwijderd.
Wat is het verschil tussen git clean -f en git clean -fd?
git clean -f verwijdert niet-bijgehouden bestanden, terwijl git clean -fd ook niet-bijgehouden mappen verwijdert.
Hoe verschilt git clean van git reset?
git clean verwijdert niet-bijgehouden bestanden, terwijl git reset gevolgde bestanden naar een eerdere staat terugzet.
Kan ik bestanden selectief verwijderen?
Ja, gebruik git clean -i voor de interactieve modus, waarin je kunt kiezen welke bestanden je verwijdert.

