logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

git-clean.1 (6479B)


  1. '\" t
  2. .\" Title: git-clean
  3. .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
  4. .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
  5. .\" Date: 2025-03-14
  6. .\" Manual: Git Manual
  7. .\" Source: Git 2.49.0
  8. .\" Language: English
  9. .\"
  10. .TH "GIT\-CLEAN" "1" "2025-03-14" "Git 2\&.49\&.0" "Git Manual"
  11. .\" -----------------------------------------------------------------
  12. .\" * Define some portability stuff
  13. .\" -----------------------------------------------------------------
  14. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15. .\" http://bugs.debian.org/507673
  16. .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
  17. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18. .ie \n(.g .ds Aq \(aq
  19. .el .ds Aq '
  20. .\" -----------------------------------------------------------------
  21. .\" * set default formatting
  22. .\" -----------------------------------------------------------------
  23. .\" disable hyphenation
  24. .nh
  25. .\" disable justification (adjust text to left margin only)
  26. .ad l
  27. .\" -----------------------------------------------------------------
  28. .\" * MAIN CONTENT STARTS HERE *
  29. .\" -----------------------------------------------------------------
  30. .SH "NAME"
  31. git-clean \- Remove untracked files from the working tree
  32. .SH "SYNOPSIS"
  33. .sp
  34. .nf
  35. \fIgit clean\fR [\-d] [\-f] [\-i] [\-n] [\-q] [\-e <pattern>] [\-x | \-X] [\-\-] [<pathspec>\&...\:]
  36. .fi
  37. .SH "DESCRIPTION"
  38. .sp
  39. Cleans the working tree by recursively removing files that are not under version control, starting from the current directory\&.
  40. .sp
  41. 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\&.
  42. .sp
  43. If any optional \fI<pathspec>\fR\&.\&.\&. arguments are given, only those paths that match the pathspec are affected\&.
  44. .SH "OPTIONS"
  45. .PP
  46. \-d
  47. .RS 4
  48. 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
  49. \fB\-\-force\fR) will be removed\&.
  50. .RE
  51. .PP
  52. \-f, \-\-force
  53. .RS 4
  54. If the Git configuration variable clean\&.requireForce is not set to false,
  55. \fIgit clean\fR
  56. will refuse to delete files or directories unless given \-f\&. Git will refuse to modify untracked nested git repositories (directories with a \&.git subdirectory) unless a second \-f is given\&.
  57. .RE
  58. .PP
  59. \-i, \-\-interactive
  60. .RS 4
  61. Show what would be done and clean files interactively\&. See
  62. \(lqInteractive mode\(rq
  63. for details\&. Configuration variable
  64. \fBclean\&.requireForce\fR
  65. is ignored, as this mode gives its own safety protection by going interactive\&.
  66. .RE
  67. .PP
  68. \-n, \-\-dry\-run
  69. .RS 4
  70. Don\(cqt actually remove anything, just show what would be done\&. Configuration variable
  71. \fBclean\&.requireForce\fR
  72. is ignored, as nothing will be deleted anyway\&.
  73. .RE
  74. .PP
  75. \-q, \-\-quiet
  76. .RS 4
  77. Be quiet, only report errors, but not the files that are successfully removed\&.
  78. .RE
  79. .PP
  80. \-e <pattern>, \-\-exclude=<pattern>
  81. .RS 4
  82. Use the given exclude pattern in addition to the standard ignore rules (see
  83. \fBgitignore\fR(5))\&.
  84. .RE
  85. .PP
  86. \-x
  87. .RS 4
  88. Don\(cqt use the standard ignore rules (see
  89. \fBgitignore\fR(5)), but still use the ignore rules given with
  90. \fB\-e\fR
  91. options from the command line\&. This allows removing all untracked files, including build products\&. This can be used (possibly in conjunction with
  92. \fIgit restore\fR
  93. or
  94. \fIgit reset\fR) to create a pristine working directory to test a clean build\&.
  95. .RE
  96. .PP
  97. \-X
  98. .RS 4
  99. Remove only files ignored by Git\&. This may be useful to rebuild everything from scratch, but keep manually created files\&.
  100. .RE
  101. .SH "INTERACTIVE MODE"
  102. .sp
  103. When the command enters the interactive mode, it shows the files and directories to be cleaned, and goes into its interactive command loop\&.
  104. .sp
  105. 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:
  106. .sp
  107. .if n \{\
  108. .RS 4
  109. .\}
  110. .nf
  111. *** Commands ***
  112. 1: clean 2: filter by pattern 3: select by numbers
  113. 4: ask each 5: quit 6: help
  114. What now> 1
  115. .fi
  116. .if n \{\
  117. .RE
  118. .\}
  119. .sp
  120. You also could say \fBc\fR or \fBclean\fR above as long as the choice is unique\&.
  121. .sp
  122. The main command loop has 6 subcommands\&.
  123. .PP
  124. clean
  125. .RS 4
  126. Start cleaning files and directories, and then quit\&.
  127. .RE
  128. .PP
  129. filter by pattern
  130. .RS 4
  131. 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 exclude files ending with "\&.c" and "\&.h" from deletion\&. When you are satisfied with the filtered result, press ENTER (empty) back to the main menu\&.
  132. .RE
  133. .PP
  134. select by numbers
  135. .RS 4
  136. This shows the files and directories to be deleted and issues an "Select items to delete>>" prompt\&. When the prompt ends with double
  137. \fI>>\fR
  138. 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
  139. \fI*\fR
  140. to choose everything\&. Also when you are satisfied with the filtered result, press ENTER (empty) back to the main menu\&.
  141. .RE
  142. .PP
  143. ask each
  144. .RS 4
  145. 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\&.
  146. .RE
  147. .PP
  148. quit
  149. .RS 4
  150. This lets you quit without doing any cleaning\&.
  151. .RE
  152. .PP
  153. help
  154. .RS 4
  155. Show brief usage of interactive git\-clean\&.
  156. .RE
  157. .SH "CONFIGURATION"
  158. .sp
  159. 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:
  160. .PP
  161. clean\&.requireForce
  162. .RS 4
  163. A boolean to make git\-clean refuse to delete files unless \-f is given\&. Defaults to true\&.
  164. .RE
  165. .SH "SEE ALSO"
  166. .sp
  167. \fBgitignore\fR(5)
  168. .SH "GIT"
  169. .sp
  170. Part of the \fBgit\fR(1) suite