Merge branch 'jn/less-reconfigure'
[gitweb.git] / Documentation / git-clean.txt
index be894af39ff6559affbf0617e4c5d8fe68c33fe8..bdc3ab80c7990f569efecc2bacbc31d15b0357f2 100644 (file)
@@ -8,7 +8,7 @@ git-clean - Remove untracked files from the working tree
 SYNOPSIS
 --------
 [verse]
-'git clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <path>...
+'git clean' [-d] [-f] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...
 
 DESCRIPTION
 -----------
@@ -16,7 +16,7 @@ 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'
+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.
 
@@ -27,10 +27,14 @@ 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::
-       If the git configuration specifies clean.requireForce as true,
-       'git-clean' will refuse to run unless given -f or -n.
+--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::
@@ -41,21 +45,27 @@ OPTIONS
        Be quiet, only report errors, but not the files that are
        successfully removed.
 
+-e <pattern>::
+--exclude=<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.
+
 -x::
-       Don't use the ignore rules.  This allows removing all untracked
+       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
+       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
+       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>
-
+SEE ALSO
+--------
+linkgit:gitignore[5]
 
 GIT
 ---