'\" t .\" Title: git-clean .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 01/05/2019 .\" Manual: Git Manual .\" Source: Git 2.20.1 .\" Language: English .\" .TH "GIT\-CLEAN" "1" "01/05/2019" "Git 2\&.20\&.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 ] [\-x | \-X] [\-\-] \&... .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\&.\&.\&.\fR arguments are given, only those paths are affected\&. .SH "OPTIONS" .PP \-d .RS 4 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\&. .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, \-n or \-i\&. Git will refuse to delete directories with \&.git sub directory or file 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 , \-\-exclude= .RS 4 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\&. .RE .PP \-x .RS 4 Don\(cqt use the standard ignore rules read from \&.gitignore (per directory) and $GIT_DIR/info/exclude, but do still use the ignore rules given with \fB\-e\fR options\&. This allows removing all untracked files, including build products\&. This can be used (possibly in conjunction with \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 "SEE ALSO" .sp \fBgitignore\fR(5) .SH "GIT" .sp Part of the \fBgit\fR(1) suite