Spaces:
Sleeping
Sleeping
'\" t | |
.\" Title: git-clean | |
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] | |
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> | |
.\" Date: 04/24/2023 | |
.\" Manual: Git Manual | |
.\" Source: Git 2.40.1 | |
.\" Language: English | |
.\" | |
.TH "GIT\-CLEAN" "1" "04/24/2023" "Git 2\&.40\&.1" "Git Manual" | |
.\" ----------------------------------------------------------------- | |
.\" * Define some portability stuff | |
.\" ----------------------------------------------------------------- | |
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
.\" http://bugs.debian.org/507673 | |
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html | |
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
.ie \n(.g .ds Aq \(aq | |
.el .ds Aq ' | |
.\" ----------------------------------------------------------------- | |
.\" * set default formatting | |
.\" ----------------------------------------------------------------- | |
.\" disable hyphenation | |
.nh | |
.\" disable justification (adjust text to left margin only) | |
.ad l | |
.\" ----------------------------------------------------------------- | |
.\" * MAIN CONTENT STARTS HERE * | |
.\" ----------------------------------------------------------------- | |
.SH "NAME" | |
git-clean \- Remove untracked files from the working tree | |
.SH "SYNOPSIS" | |
.sp | |
.nf | |
\fIgit clean\fR [\-d] [\-f] [\-i] [\-n] [\-q] [\-e <pattern>] [\-x | \-X] [\-\-] [<pathspec>\&...] | |
.fi | |
.sp | |
.SH "DESCRIPTION" | |
.sp | |
Cleans the working tree by recursively removing files that are not under version control, starting from the current directory\&. | |
.sp | |
Normally, only files unknown to Git are removed, but if the \fB\-x\fR option is specified, ignored files are also removed\&. This can, for example, be useful to remove all build products\&. | |
.sp | |
If any optional \fB<pathspec>\&.\&.\&.\fR arguments are given, only those paths that match the pathspec are affected\&. | |
.SH "OPTIONS" | |
.PP | |
\-d | |
.RS 4 | |
Normally, when no <pathspec> is specified, git clean will not recurse into untracked directories to avoid removing too much\&. Specify \-d to have it recurse into such directories as well\&. If a <pathspec> is specified, \-d is irrelevant; all untracked files matching the specified paths (with exceptions for nested git directories mentioned under | |
\fB\-\-force\fR) will be removed\&. | |
.RE | |
.PP | |
\-f, \-\-force | |
.RS 4 | |
If the Git configuration variable clean\&.requireForce is not set to false, | |
\fIgit clean\fR | |
will refuse to delete files or directories unless given \-f or \-i\&. Git will refuse to modify untracked nested git repositories (directories with a \&.git subdirectory) unless a second \-f is given\&. | |
.RE | |
.PP | |
\-i, \-\-interactive | |
.RS 4 | |
Show what would be done and clean files interactively\&. See \(lqInteractive mode\(rq for details\&. | |
.RE | |
.PP | |
\-n, \-\-dry\-run | |
.RS 4 | |
Don\(cqt actually remove anything, just show what would be done\&. | |
.RE | |
.PP | |
\-q, \-\-quiet | |
.RS 4 | |
Be quiet, only report errors, but not the files that are successfully removed\&. | |
.RE | |
.PP | |
\-e <pattern>, \-\-exclude=<pattern> | |
.RS 4 | |
Use the given exclude pattern in addition to the standard ignore rules (see | |
\fBgitignore\fR(5))\&. | |
.RE | |
.PP | |
\-x | |
.RS 4 | |
Don\(cqt use the standard ignore rules (see | |
\fBgitignore\fR(5)), but still use the ignore rules given with | |
\fB\-e\fR | |
options from the command line\&. This allows removing all untracked files, including build products\&. This can be used (possibly in conjunction with | |
\fIgit restore\fR | |
or | |
\fIgit reset\fR) to create a pristine working directory to test a clean build\&. | |
.RE | |
.PP | |
\-X | |
.RS 4 | |
Remove only files ignored by Git\&. This may be useful to rebuild everything from scratch, but keep manually created files\&. | |
.RE | |
.SH "INTERACTIVE MODE" | |
.sp | |
When the command enters the interactive mode, it shows the files and directories to be cleaned, and goes into its interactive command loop\&. | |
.sp | |
The command loop shows the list of subcommands available, and gives a prompt "What now> "\&. In general, when the prompt ends with a single \fI>\fR, you can pick only one of the choices given and type return, like this: | |
.sp | |
.if n \{\ | |
.RS 4 | |
.\} | |
.nf | |
*** Commands *** | |
1: clean 2: filter by pattern 3: select by numbers | |
4: ask each 5: quit 6: help | |
What now> 1 | |
.fi | |
.if n \{\ | |
.RE | |
.\} | |
.sp | |
.sp | |
You also could say \fBc\fR or \fBclean\fR above as long as the choice is unique\&. | |
.sp | |
The main command loop has 6 subcommands\&. | |
.PP | |
clean | |
.RS 4 | |
Start cleaning files and directories, and then quit\&. | |
.RE | |
.PP | |
filter by pattern | |
.RS 4 | |
This shows the files and directories to be deleted and issues an "Input ignore patterns>>" prompt\&. You can input space\-separated patterns to exclude files and directories from deletion\&. E\&.g\&. "*\&.c *\&.h" will excludes files end with "\&.c" and "\&.h" from deletion\&. When you are satisfied with the filtered result, press ENTER (empty) back to the main menu\&. | |
.RE | |
.PP | |
select by numbers | |
.RS 4 | |
This shows the files and directories to be deleted and issues an "Select items to delete>>" prompt\&. When the prompt ends with double | |
\fI>>\fR | |
like this, you can make more than one selection, concatenated with whitespace or comma\&. Also you can say ranges\&. E\&.g\&. "2\-5 7,9" to choose 2,3,4,5,7,9 from the list\&. If the second number in a range is omitted, all remaining items are selected\&. E\&.g\&. "7\-" to choose 7,8,9 from the list\&. You can say | |
\fI*\fR | |
to choose everything\&. Also when you are satisfied with the filtered result, press ENTER (empty) back to the main menu\&. | |
.RE | |
.PP | |
ask each | |
.RS 4 | |
This will start to clean, and you must confirm one by one in order to delete items\&. Please note that this action is not as efficient as the above two actions\&. | |
.RE | |
.PP | |
quit | |
.RS 4 | |
This lets you quit without do cleaning\&. | |
.RE | |
.PP | |
help | |
.RS 4 | |
Show brief usage of interactive git\-clean\&. | |
.RE | |
.SH "CONFIGURATION" | |
.sp | |
Everything below this line in this section is selectively included from the \fBgit-config\fR(1) documentation\&. The content is the same as what\(cqs found there: | |
.PP | |
clean\&.requireForce | |
.RS 4 | |
A boolean to make git\-clean do nothing unless given \-f, \-i or \-n\&. Defaults to true\&. | |
.RE | |
.SH "SEE ALSO" | |
.sp | |
\fBgitignore\fR(5) | |
.SH "GIT" | |
.sp | |
Part of the \fBgit\fR(1) suite | |