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