Take a branch, where we have made some changes and added new files. However, if we reach a point where we no longer want these changes, we can reset the changes using:
git reset --hard
The code above will remove the changes in files that already are under version control. The untracked files will still present even after the reset command is used.
To remove untracked files, use the
git cleancommand.
Let’s say we have one new file (file1.txt) and one new folder (folder1) with the fileinsidefolder.txt file added to our branch:
Dry run
Dry Run will tell you what files will be removed upon executing the clean command:
Always use -n before running the clean command as it will show you what files would get removed.
git clean -n
This will only list the files, to list down the folders use
# Print out the list of files and directories which will be removed (dry run)
git clean -nd
Remove untracked files and folders
To remove untracked files using -f flag with git clean command:
# Delete the files from the repository
git clean -f
To remove untracked files inside a subfolder use:
git clean -f folderpath
The untracked folders will now be deleted. If you want to delete untracked folders too, you can use the -d flag:
# To remove directories
git clean -fd
To remove ignore files, use the -x flag:
# To remove ignored and non-ignored files
git clean -fx
Summary
- Once the untracked files are deleted, they cannot be restored.
- Before running the git clean command, perform
dry runto know what the are files that will be deleted. -nflag is used to perform dry run.-fflag is used to remove untracked files.-fdflag is used to remove untracked files and folders.-fxflag is used to remove untracked and ignored files.

