Hone

Lessons · Git · clearing out what was never tracked

Removing files git never knew about

git clean deletes untracked files -- the ones git has never been told about. Tracked files are left alone entirely.

Hone is a place to practise programming. This is one of its lessons, written out in full and free to read without an account.

What it is for

restore cannot help with a file git does not know exists, and after a bad build there can be thousands of them.

How to think about it

Always -n first. It lists exactly what would go and removes nothing, and this is the one command on this road with no undo of any kind.

Worked example

git status --short
One modified tracked file, and untracked things beside it.
git clean -n
The dry run. Nothing has been removed.
git clean -nd
With -d it looks inside untracked directories too, which is where the surprises are.
git clean -fd
Now they are gone.
git status --short
The tracked file and its edit are exactly as they were.

Your turn

List what clean would remove, without removing anything.

git clean 

The trap

Adding -x because something was still there afterwards. -x removes ignored files too, and that is where your .env and your local settings live.

Next in Git

Every Git lesson on one page

Practise clearing out what was never tracked on HoneA question on it now, a coding challenge where there is one, and it is remembered for review. Free, no email needed.