git-clean(1)
============

NAME
----
git-clean - Remove untracked files from the working tree

SYNOPSIS
--------
[verse]
'git clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <path>...

DESCRIPTION
-----------

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.

OPTIONS
-------
-d::
	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.

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

-n::
--dry-run::
	Don't actually remove anything, just show what would be done.

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

-x::
	Don't use the ignore rules.  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.

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


Author
------
Written by Pavel Roskin <proski@gnu.org>


GIT
---
Part of the linkgit:git[1] suite
