clean: require double -f options to nuke nested git repository and work tree
[git/git.git] / Documentation / git-clean.txt
1 git-clean(1)
2 ============
3
4 NAME
5 ----
6 git-clean - Remove untracked files from the working tree
7
8 SYNOPSIS
9 --------
10 [verse]
11 'git clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <path>...
12
13 DESCRIPTION
14 -----------
15
16 Cleans the working tree by recursively removing files that are not
17 under version control, starting from the current directory.
18
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.
22
23 If any optional `<path>...` arguments are given, only those paths
24 are affected.
25
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.
33
34 -f::
35 If the git configuration specifies clean.requireForce as true,
36 'git-clean' will refuse to run unless given -f or -n.
37
38 -n::
39 --dry-run::
40 Don't actually remove anything, just show what would be done.
41
42 -q::
43 --quiet::
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
50 conjunction with 'git-reset') to create a pristine
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
58 Author
59 ------
60 Written by Pavel Roskin <proski@gnu.org>
61
62
63 GIT
64 ---
65 Part of the linkgit:git[1] suite