summaryrefslogtreecommitdiff
path: root/Documentation/git-clean.txt
blob: bdc3ab80c7990f569efecc2bacbc31d15b0357f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
git-clean(1)
============

NAME
----
git-clean - Remove untracked files from the working tree

SYNOPSIS
--------
[verse]
'git clean' [-d] [-f] [-n] [-q] [-e <pattern>] [-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 variable clean.requireForce is not set
	to false, '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.

-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 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
	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.

SEE ALSO
--------
linkgit:gitignore[5]

GIT
---
Part of the linkgit:git[1] suite