gitgit-clean

How to preserve all ignored files in git clean -fd?


When I have .gitignore data/* and run git clean -fd, the data folder and all its content files are deleted.

What I want is to delete all unrevisioned files in a git repo while excluding all ignored files (i.e. DON'T delete gitignored files). What could I do?


Solution

  • Git normally doesn't clean ignored files unless the -x flag is specified, but strangely it cleans out when configured as you did (folder/*).

    As @VonC pointed out, you should change your .gitignore-file to ignore the directory (data/) rather than its contents (data/*).

    It's a subtle difference, but it matters to git.