Git --local-branching-on-the-cheap
Topics ▾ Version ▾ git-clean last updated in 2.6.1


git clean [-d] [-f] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...


Cleans the working tree by recursively removing files that are not under version control, starting from the current directory.

Normally, only files unknown to git are removed, but if the -x option is specified, ignored files are also removed. This can, for example, be useful to remove all build products.

If any optional <path>... arguments are given, only those paths are affected.



Remove untracked directories in addition to untracked files. If an untracked directory is managed by a different git repository, it is not removed by default. Use -f option twice if you really want to remove such a directory.


If the git configuration variable clean.requireForce is not set to false, git clean will refuse to run unless given -f or -n.


Don't actually remove anything, just show what would be done.


Be quiet, only report errors, but not the files that are successfully removed.

-e <pattern>

In addition to those found in .gitignore (per directory) and $GIT_DIR/info/exclude, also consider these patterns to be in the set of the ignore rules in effect.


Don't use the standard ignore rules read from .gitignore (per directory) and $GIT_DIR/info/exclude, but do still use the ignore rules given with -e options. This allows removing all untracked files, including build products. This can be used (possibly in conjunction with git reset) to create a pristine working directory to test a clean build.


Remove only files ignored by git. This may be useful to rebuild everything from scratch, but keep manually created files.



Part of the git(1) suite