clean: require double -f options to nuke nested git repository and work tree
[git/git.git] / Documentation / git-clean.txt
CommitLineData
c3b831bd
PR
1git-clean(1)
2============
3
4NAME
5----
6git-clean - Remove untracked files from the working tree
7
8SYNOPSIS
9--------
10[verse]
f448e24e 11'git clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <path>...
c3b831bd
PR
12
13DESCRIPTION
14-----------
911198f6 15
6a260f53
JH
16Cleans the working tree by recursively removing files that are not
17under version control, starting from the current directory.
911198f6
WL
18
19Normally, only files unknown to git are removed, but if the '-x'
20option is specified, ignored files are also removed. This can, for
21example, be useful to remove all build products.
22
f448e24e
AMS
23If any optional `<path>...` arguments are given, only those paths
24are affected.
393e3b19 25
c3b831bd
PR
26OPTIONS
27-------
28-d::
29 Remove untracked directories in addition to untracked files.
a0f4afbe
JH
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.
c3b831bd 33
2122591b 34-f::
0fc4baeb 35 If the git configuration specifies clean.requireForce as true,
ba020ef5 36 'git-clean' will refuse to run unless given -f or -n.
2122591b 37
c3b831bd 38-n::
459cf2e9 39--dry-run::
c3b831bd
PR
40 Don't actually remove anything, just show what would be done.
41
42-q::
459cf2e9 43--quiet::
c3b831bd
PR
44 Be quiet, only report errors, but not the files that are
45 successfully removed.
46
47-x::
48 Don't use the ignore rules. This allows removing all untracked
49 files, including build products. This can be used (possibly in
ba020ef5 50 conjunction with 'git-reset') to create a pristine
c3b831bd
PR
51 working directory to test a clean build.
52
53-X::
54 Remove only files ignored by git. This may be useful to rebuild
55 everything from scratch, but keep manually created files.
56
57
58Author
59------
60Written by Pavel Roskin <proski@gnu.org>
61
62
63GIT
64---
9e1f0a85 65Part of the linkgit:git[1] suite