summaryrefslogtreecommitdiff
path: root/Documentation/git-rm.txt
blob: 401bfb2d9cc4db22d0dd12b5c086ad537896fe65 (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
git-rm(1)
=========
 
NAME
----
git-rm - Remove files from the working tree and from the index.
 
SYNOPSIS
--------
'git-rm' [-f] [-n] [-v] [--] <file>...
 
DESCRIPTION
-----------
A convenience wrapper for git-update-index --remove. For those coming
from cvs, git-rm provides an operation similar to "cvs rm" or "cvs
remove".
 
 
OPTIONS
-------
<file>...::
	Files to remove from the index and optionally, from the
	working tree as well.
 
-f::
	Remove files from the working tree as well as from the index.
 
-n::
        Don't actually remove the file(s), just show if they exist in
        the index.
 
-v::
        Be verbose.
 
--::
	This option can be used to separate command-line options from
	the list of files, (useful when filenames might be mistaken
	for command-line options).
 
 
DISCUSSION
----------
 
The list of <file> given to the command is fed to `git-ls-files`
command to list files that are registered in the index and
are not ignored/excluded by `$GIT_DIR/info/exclude` file or
`.gitignore` file in each directory.  This means two things:
 
. You can put the name of a directory on the command line, and the
  command will remove all files in it and its subdirectories (the
  directories themselves are never removed from the working tree);
 
. Giving the name of a file that is not in the index does not
  remove that file.
 
 
EXAMPLES
--------
git-rm Documentation/\\*.txt::
 
	Removes all `\*.txt` files from the index that are under the
	`Documentation` directory and any of its subdirectories. The
	files are not removed from the working tree.
+
Note that the asterisk `\*` is quoted from the shell in this
example; this lets the command include the files from
subdirectories of `Documentation/` directory.
 
git-rm -f git-*.sh::
 
	Remove all git-*.sh scripts that are in the index. The files
	are removed from the index, and (because of the -f option),
	from the working tree as well. Because this example lets the
	shell expand the asterisk (i.e. you are listing the files
	explicitly), it does not remove `subdir/git-foo.sh`.
 
 
Author
------
Written by Linus Torvalds <torvalds@osdl.org>
 
Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 
GIT
---
Part of the gitlink:git[7] suite