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 specifies clean.requireForce as true,
	'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
