Git Clean
What is git clean?
git clean deletes untracked files: files in your folder that Git does not track yet.
It is useful when your folder is full of build output, temporary files or experiments you want to throw away.
All examples below start with this project, where only index.html and .gitignore are committed:
Example: The Untracked Files
git status --short
?? build/
?? draft.txt
?? temp.txt
Try it Yourself »
debug.log is not listed, because .gitignore ignores *.log files.
Warning: Files removed by git clean were never committed, so Git cannot bring them back. Always do a dry run first.
Dry Run First (-n)
Use -n (dry run) to see what would be deleted, without deleting anything:
Example: See What Would Be Removed
git clean -n
Would remove draft.txt
Would remove temp.txt
Try it Yourself »
Folders are not included unless you ask for them with -d.
Delete the Files (-f)
To protect you, git clean does nothing unless you add -f (force):
Include Folders (-d)
Add -d to remove untracked folders too:
Example: Remove Files and Folders
git clean -fd
Removing build/
Removing draft.txt
Removing temp.txt
Try it Yourself »
Include Ignored Files (-x)
Ignored files are kept by default. Add -x to remove them as well, for example to start a build from scratch:
Example: Dry Run with Ignored Files
git clean -ndx
Would remove build/
Would remove debug.log
Would remove draft.txt
Would remove temp.txt
Try it Yourself »
Use -X (capital X) to remove only the ignored files.
Choose Files Interactively (-i)
Use -i to choose, one by one, which files to delete:
Example: Interactive Clean
git clean -i
Options Overview
-n: Dry run, only show what would be removed-f: Force, really remove the files-d: Also remove untracked folders-x: Also remove ignored files-X: Remove only ignored files-i: Choose interactively