git-clean: add support for -i/--interactive
[git/mingw/j6t.git] / Documentation / git-clean.txt
blob186e3455e4b5fb17cff6d000865baefa379832e1
1 git-clean(1)
2 ============
4 NAME
5 ----
6 git-clean - Remove untracked files from the working tree
8 SYNOPSIS
9 --------
10 [verse]
11 'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...
13 DESCRIPTION
14 -----------
16 Cleans the working tree by recursively removing files that are not
17 under version control, starting from the current directory.
19 Normally, only files unknown to Git are removed, but if the '-x'
20 option is specified, ignored files are also removed. This can, for
21 example, be useful to remove all build products.
23 If any optional `<path>...` arguments are given, only those paths
24 are affected.
26 OPTIONS
27 -------
28 -d::
29         Remove untracked directories in addition to untracked files.
30         If an untracked directory is managed by a different Git
31         repository, it is not removed by default.  Use -f option twice
32         if you really want to remove such a directory.
34 -f::
35 --force::
36         If the Git configuration variable clean.requireForce is not set
37         to false, 'git clean' will refuse to run unless given -f, -n or
38         -i.
40 -i::
41 --interactive::
42         Show what would be done and the user must confirm before actually
43         cleaning.
45 -n::
46 --dry-run::
47         Don't actually remove anything, just show what would be done.
49 -q::
50 --quiet::
51         Be quiet, only report errors, but not the files that are
52         successfully removed.
54 -e <pattern>::
55 --exclude=<pattern>::
56         In addition to those found in .gitignore (per directory) and
57         $GIT_DIR/info/exclude, also consider these patterns to be in the
58         set of the ignore rules in effect.
60 -x::
61         Don't use the standard ignore rules read from .gitignore (per
62         directory) and $GIT_DIR/info/exclude, but do still use the ignore
63         rules given with `-e` options.  This allows removing all untracked
64         files, including build products.  This can be used (possibly in
65         conjunction with 'git reset') to create a pristine
66         working directory to test a clean build.
68 -X::
69         Remove only files ignored by Git.  This may be useful to rebuild
70         everything from scratch, but keep manually created files.
72 SEE ALSO
73 --------
74 linkgit:gitignore[5]
76 GIT
77 ---
78 Part of the linkgit:git[1] suite