Wanneer je aan een Git-opslagplaats werkt, is het gebruikelijk om ongevolgde bestanden en mappen te verzamelen die geen deel uitmaken van het versiebeheersysteem van de opslagplaats. Deze kunnen tijdelijke bestanden, build-artefacten of andere lokaal gecreëerde bestanden zijn die niet zijn geüpload. Na verloop van tijd kunnen deze bestanden de werkmap vervuilen, waardoor het moeilijker wordt om een schone en georganiseerde werkruimte te behouden.
Om dit probleem aan te pakken, biedt Git het git clean
-commando, waarmee ongevolgde bestanden en mappen worden verwijderd. In deze gids zal ik je laten zien hoe je op een veilige manier git clean
kunt gebruiken, de verschillende opties ervan en de beste werkwijzen om onbedoelde bestandsverwijdering te voorkomen terwijl je je Git-opslagplaats netjes houdt. Voor verdere kennis, raad ik aan om onze Grondslagen van Git en Inleiding tot GitHub-concepten cursussen te volgen om meer te leren over versiebeheer en het verschil tussen Git en GitHub.
Begrip van git clean
De git clean
opdracht is een handige tool in Git die niet-gevolgde bestanden verwijdert uit de werkmap. De git clean
opdracht is handig wanneer je je werkmap moet resetten naar een oorspronkelijke staat, zoals voor het wisselen van branches of na het uitvoeren van bouwprocessen die tijdelijke bestanden genereren. Let echter op, de git clean
opdracht moet voorzichtig worden gebruikt omdat het permanent niet-gevolgde bestanden en mappen verwijdert zonder deze naar de prullenbak te verplaatsen.
In tegenstelling tot git reset
of git checkout
, die getraceerde bestanden wijzigen, behandelt git clean
strikt bestanden en mappen die niet onder versiebeheer staan. Hieronder vallen:
-
Tijdelijke bestanden gemaakt door bouwprocessen
-
Logbestanden of gecachte gegevens
-
Bestanden genoemd in .gitignore (indien expliciet gespecificeerd met
-x
)
De git clean
opdracht is handig voor het onderhouden van een opgeruimde werkmap, en vult andere Git opdrachten aan zoals git reset
en git checkout
, die wijzigingen beheren in bijgehouden bestanden.
Ik vind de Complete Git Cheat Sheet een handige referentiegids voor veelvoorkomende Git opdrachten.
Veelvoorkomende Gebruiken voor git clean
De git clean
opdracht is een handige tool voor het onderhouden van een schone werkmap. Hieronder staan enkele veelvoorkomende gebruikssituaties waar git clean
veilig onnodige bestanden en mappen kan verwijderen.
Verwijderen van niet-gevolgde bestanden
Als je werkt in een Git repository, kunnen niet-gevolgde bestanden zich in de loop van de tijd opstapelen. De volgende opties helpen bij het verwijderen ervan:
-
git clean -f
: Forceert het verwijderen van niet-gevolgde bestanden. -
git clean -fd
: Verwijdert niet-gevolgde bestanden en niet-gevolgde mappen. -
git clean -fx
: Verwijdert niet-gevolgde en genegeerde bestanden zoals die vermeld staan in.gitignore
.
Echter moet je voorzichtig zijn bij het gebruik van de -fx
optie omdat het ook genegeerde bestanden verwijdert. Verifieer altijd met een droge run (git clean -n
) voordat je het commando uitvoert.
Interactieve modus
Met het git clean -i
commando kun je een interactieve modus inschakelen, waarmee gebruikers selectief ongevolgde bestanden kunnen verwijderen. Deze modus is handig wanneer je meer controle wilt over welke bestanden of mappen worden verwijderd.
Stel dat je werkt aan een project waarin je al wijzigingen hebt opgeslagen in de Olympics
map. Echter, je hebt nieuwe gegevensbronnen toegevoegd met de namen 2024_Data,
en 2025_Data
. Als je het git clean -i
commando uitvoert, krijg je het prompt waarmee je kunt kiezen uit de volgende opties om de ongevolgde wijzigingen te verwijderen.
-
clean
: Geselecteerde bestanden verwijderen -
filter
: Geef een patroon op voor bestanden die moeten worden verwijderd -
select
: Individuele bestanden kiezen op volgnummer -
quit
: Afsluiten zonder iets te verwijderen
git clean -i interactieve modus. Afbeelding door Auteur.
Droge run voor veiligheid
Het gebruik van de git clean -n
optie is een handige veiligheidsmaatregel omdat het een “droge run” uitvoert, waarbij een lijst met niet-gevolgde bestanden en mappen wordt weergegeven die zouden worden verwijderd zonder ze daadwerkelijk te verwijderen. Hierdoor kunt u de wijzigingen bekijken voordat u ze uitvoert.
In het onderstaande voorbeeld geeft de git clean -n
opdracht de bestanden weer die zouden moeten worden verwijderd maar verwijdert ze niet.
git clean -n voor droge run. Afbeelding door Auteur.
Combineren met git reset
Om een Git-werkdirectory volledig te resetten, kunt u git reset en git clean
combineren waar:
-
git reset --hard
: Zet bijgehouden bestanden terug naar de laatst geüploade staat, waarbij lokale wijzigingen worden genegeerd. -
git clean -fd
: Verwijdert niet-gevolgde bestanden en mappen, waardoor alleen geüploade bestanden overblijven.
Deze combinatie zorgt voor een volledig schone werkdirectory, wat handig is bij het wisselen van branches, het ongedaan maken van experimentele wijzigingen of het voorbereiden op een frisse start.
Bekijk de Git Pull Force: Hoe een Lokale Branch Overschrijven Met Remote handleiding om te leren over de beste werkwijzen voor het overschrijven van lokale wijzigingen.
Stapsgewijze handleiding voor het gebruik van git clean
Volg deze stappen om veilig je Git repository schoon te maken en ongewenste niet-gevolgde bestanden en mappen te verwijderen.
Stap 1: Controleer de huidige status
Voordat je schoonmaakt, voer git status
uit om de huidige status van je repository te controleren en te zien welke bestanden niet-gevolgd zijn.
git status
git status om de huidige status van de repository te controleren. Afbeelding door auteur.
Stap 2: Bekijk wat verwijderd zal worden
Voordat je een verwijderingsopdracht uitvoert, gebruik git clean -n
om te bekijken wat er verwijderd zal worden.
git clean -n
git clean -n om te bekijken wat er verwijderd zal worden. Afbeelding door auteur.
Stap 3: Verwijder niet-gevolgde bestanden
Voer git clean -f
uit om niet-gevolgde bestanden te verwijderen als de voorvertoning er juist uitziet.
git clean -f
Verwijder niet-gevolgde wijzigingen met git clean -f. Afbeelding door auteur.
Stap 4: Verwijder niet-gevolgde mappen
Gebruik git clean -fd
om niet-gevolgde mappen te verwijderen.
git clean -fd
Verwijder niet-gevolgde mappen met git clean -fd. Afbeelding door Auteur.
Stap 5: Verwijder genegeerde bestanden
Om zowel niet-gevolgde als genegeerde bestanden te verwijderen, gebruik het git clean -fx
commando.
git clean -fx
Stap 6: Gebruik interactieve modus voor selectief opruimen
Voor meer controle, overweeg het gebruik van git clean -i
voor interactieve verwijdering. Deze modus stelt je in staat om individueel te kiezen welke bestanden je wilt verwijderen.
Git clean -i
git clean -i interactieve modus voor selectief opruimen. Afbeelding door Auteur.
git clean vs. Andere Git Commando’s
Het git clean
commando wordt vaak vergeleken met andere Git commando’s die bestanden wijzigen of resetten. De onderstaande tabel belicht de belangrijkste verschillen:
Command | Function |
---|---|
git clean |
Verwijdert niet-gevolgde bestanden en mappen permanent. |
git reset |
Reset getraceerde bestanden naar een vorige staat, wat van invloed is op gestaagde en geëngageerde wijzigingen. |
git checkout (of git restore ) |
Verwerpt wijzigingen in getraceerde bestanden maar verwijdert ze niet. |
git stash |
Slaat zowel tijdelijk getraceerde als niet-gevolgde wijzigingen op voor later gebruik. |
Git Clean Beste Praktijken
Om git clean
veilig en effectief te gebruiken, volg deze beste praktijken:
-
Gebruik Dry Runs (-n) voor Verwijdering: Gebruik altijd de
git clean -n
optie voor een droge run voordat jegit clean
uitvoert. Hiermee kun je bekijken welke bestanden zullen worden verwijderd zonder ze daadwerkelijk te wissen. -
Wees voorzichtig met genegeerde bestanden: Wees voorzichtig met de optie
-x
wanneer jegit clean
gebruikt, omdat deze genegeerde bestanden verwijdert. Hierdoor kunnen belangrijke configuratiebestanden die in.gitignore
staan vermeld, mogelijk worden verwijderd. Als je genegeerde bestanden wilt verwijderen, gebruik dan hetgit clean -fx
commando. -
Combineer met Git Reset voor Volledige Opschoning: Om uw repository volledig te resetten, combineer
git reset
metgit clean
, waarbijgit reset --hard
bijgehouden bestanden herstelt naar hun laatst geüploade staat engit clean -fd
niet-gevolgde bestanden en mappen verwijdert. -
Gebruik Interactieve Modus (-i) voor Veiliger Verwijderingen: In plaats van blindelings bestanden te verwijderen, gebruik de interactieve modus (
git clean -i
) om de bestanden te controleren en te selecteren die verwijderd moeten worden.
Potentiële Risico’s en Voorzorgsmaatregelen
Het gebruik van git clean
kan riskant zijn als het niet voorzichtig wordt uitgevoerd, aangezien het bestanden permanent verwijdert zonder deze ergens op te slaan. Hier zijn enkele belangrijke risico’s en voorzorgsmaatregelen om te overwegen:
-
Bestanden Worden Permanent Verwijderd: In tegenstelling tot
git stash
, die tijdelijk wijzigingen opslaat, verwijdertgit clean
permanent niet-gevolgde bestanden en mappen. Eenmaal verwijderd, kunnen deze bestanden niet worden hersteld via Git. Als je de bestanden later nog nodig hebt, overweeg dan om ze te stashen of een back-up te maken voordat je hetgit clean
commando uitvoert. -
Wees Voorzichtig met de -x Optie: Het gebruik van
git clean-fx
verwijdert genegeerde bestanden, die belangrijke configuratiebestanden kunnen omvatten die vermeld staan in.gitignore
of afhankelijkheidscaches zoalsnode_modules/
envenv/
. Per ongeluk deze bestanden verwijderen kan builds of ontwikkelomgevingen beschadigen, dus gebruik deze optie alleen wanneer nodig. -
Voer eerst een droge run uit: Voer altijd een droge run uit met
git clean -n
voordat jegit clean -f
uitvoert. Deze stap stelt je in staat om te bekijken welke bestanden zullen worden verwijderd, zodat je per ongeluk belangrijke bestanden kunt vermijden die worden verwijderd -
Alternatieve benaderingen: In sommige scenario’s kan het gebruik van
git stash
een betere optie zijn dangit clean
. Hetgit stash -u
commando bewaart niet-gevolgde bestanden, met uitzondering van genegeerde bestanden voor mogelijke latere herstel, en hetgit stash pop
herstelt bewaarde wijzigingen indien nodig. Deze methode is handig wanneer je van branch moet wisselen of je werkruimte moet opruimen zonder permanente verlies van wijzigingen.
Conclusie
Een goed onderhouden codebase toont aandacht voor detail, efficiëntie, en het vermogen om digitale assets verantwoord te beheren. Werkgevers zoeken naar ontwikkelaars die best practices begrijpen, zoals het gebruik van git clean -n
voordat bestanden worden verwijderd, voorzichtig zijn met genegeerde bestanden met behulp van -x
, en het gebruik maken van veiligere alternatieven zoals git stash
.
Het volgen van DataCamp-cursussen is niet alleen een geweldige manier om te leren, maar het is ook een geweldige manier om aan werkgevers te laten zien dat je softwareontwikkeling serieus neemt. Daarom raad ik aan om de blogpost Top 20 Git Interviewvragen en Antwoorden voor Alle Niveaus te bestuderen en onze nieuwe Git Fundamentals vaardigheidstrack te volgen om een expert te worden in alles omtrent Git.