Clarify and fix English in "git-rm" documentation
Do some verb-noun agreement changes. Clarify some file globbing cases. Fixed a wrong statement in an example. Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jon Loeliger committed
Apr 16, 2008 at 18:41 UTC
25dc72007706a69c700fc14fef65440b250bf564
1 file changed
+32
-20
Documentation/git-rm.txt
+32
-20
@@ -11,28 +11,37 @@ SYNOPSIS
11
12
DESCRIPTION
13
-----------
14
-Remove files from the working tree and from the index. The
15
-files have to be identical to the tip of the branch, and no
16
-updates to its contents must have been placed in the staging
17
-area (aka index). When --cached is given, the staged content has to
18
-match either the tip of the branch *or* the file on disk.
14
+Remove files from the index, or from the working tree and the index.
15
+`git rm` will not remove a file from just your working directory.
16
+(There is no option to remove a file only from the work tree
17
+and yet keep it in the index; use `/bin/rm` if you want to do that.)
18
+The files being removed have to be identical to the tip of the branch,
19
+and no updates to their contents can be staged in the index,
20
+though that default behavior can be overridden with the `-f` option.
21
+When '--cached' is given, the staged content has to
22
+match either the tip of the branch or the file on disk,
23
+allowing the file to be removed from just the index.
24
25
26
OPTIONS
27
-------
28
<file>...::
29
Files to remove. Fileglobs (e.g. `*.c`) can be given to
25
- remove all matching files. Also a leading directory name
26
- (e.g. `dir` to add `dir/file1` and `dir/file2`) can be
27
- given to remove all files in the directory, recursively,
28
- but this requires `-r` option to be given for safety.
30
+ remove all matching files. If you want git to expand
31
+ file glob characters, you may need to shell-escape them.
32
+ A leading directory name
33
+ (e.g. `dir` to remove `dir/file1` and `dir/file2`) can be
34
+ given to remove all files in the directory, and recursively
35
+ all sub-directories,
36
+ but this requires the `-r` option to be explicitly given.
37
38
-f::
39
Override the up-to-date check.
40
41
-n, \--dry-run::
34
- Don't actually remove the file(s), just show if they exist in
35
- the index.
42
+ Don't actually remove any file(s). Instead, just show
43
+ if they exist in the index and would otherwise be removed
44
+ by the command.
45
46
-r::
47
Allow recursive removal when a leading directory name is
@@ -44,9 +53,9 @@ OPTIONS
53
for command-line options).
54
55
\--cached::
47
- This option can be used to tell the command to remove
48
- the paths only from the index, leaving working tree
49
- files.
56
+ Use this option to unstage and remove paths only from the index.
57
+ Working tree files, whether modified or not, will be
58
+ left alone.
59
60
\--ignore-unmatch::
61
Exit with a zero status even if no files matched.
@@ -59,11 +68,15 @@ OPTIONS
68
DISCUSSION
69
----------
70
62
-The list of <file> given to the command can be exact pathnames,
63
-file glob patterns, or leading directory name. The command
64
-removes only the paths that is known to git. Giving the name of
71
+The <file> list given to the command can be exact pathnames,
72
+file glob patterns, or leading directory names. The command
73
+removes only the paths that are known to git. Giving the name of
74
a file that you have not told git about does not remove that file.
75
76
+File globbing matches across directory boundaries. Thus, given
77
+two directories `d` and `d2`, there is a difference between
78
+using `git rm \'d\*\'` and `git rm \'d/\*\'`, as the former will
79
+also remove all of directory `d2`.
80
81
EXAMPLES
82
--------
@@ -72,11 +85,10 @@ git-rm Documentation/\\*.txt::
85
`Documentation` directory and any of its subdirectories.
86
+
87
Note that the asterisk `\*` is quoted from the shell in this
75
-example; this lets the command include the files from
76
-subdirectories of `Documentation/` directory.
88
+example; this lets git, and not the shell, expand the pathnames
89
+of files and subdirectories under the `Documentation/` directory.
90
91
git-rm -f git-*.sh::
79
- Remove all git-*.sh scripts that are in the index.
92
Because this example lets the shell expand the asterisk
93
(i.e. you are listing the files explicitly), it
94
does not remove `subdir/git-foo.sh`.