Heb je een git directory vol met ongevolgde bestanden en begint het je lastig te vallen als je de wijzigingen aan het uitkiezen bent om te committen? Dan heb ik twee tips voor je!
git clean
Dit is een ingebouwd commando om de ongevolgde bestanden op te ruimen. Wees voorzichtig met dit commando, het verwijdert bestanden permanent!
Voeg altijd -n
of --dry-run
opties toe om te zien wat voor schade je aanricht! (bron)
- Als je alleen untracked bestanden wilt verwijderen, voer dan
git clean -f
- Als je ook directories wilt verwijderen, voer dan
git clean -f -d
- Als je alleen genegeerde bestanden wilt verwijderen, voer dan
git clean -f -X
- Als je zowel genegeerde als niet genegeerde bestanden wilt verwijderen, voer dan
git clean -f -x
Note, dat er -f
/ --force
optie in elk voorbeeld is, dit is vanwege de standaard configuratie van git: Als de git configuratie variabele clean.requireForce niet op false gezet is, zal git clean weigeren te draaien, tenzij -f of -n gegeven wordt.
git trash
Zacht alternatief voor git clean. Verplaatst alle onopgehaalde bestanden naar de .trash directory voor latere controle.
Om dit commando te laten werken moet je eerst .trash
directory toevoegen aan de lokale of globale .gitignore
. Als je dat niet doet, zal git trash
proberen om de .trash
map ook te verwijderen.
echo ".trash" >> .gitignore
Nu voeg je de trash
git snelkoppeling toe aan je globale aliassen lijst:
git config --global alias.trash '!mkdir -p .trash && git ls-files --others --exclude-standard | xargs mv -f -t .trash'
En je bent klaar. Nu kun je git trash
in je root van git repository draaien en alle unstaged bestanden zullen naar de .trash
subdirectory verplaatst worden.
Gerelateerde tips:
Verwijder al je lokale git branches, maar bewaar master