.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-ADD" "1" "12/25/2006" "" ""
+.TH "GIT\-ADD" "1" "12/26/2006" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
git\-add \- Add file contents to the changeset to be committed next
.SH "SYNOPSIS"
-\fIgit\-add\fR [\-n] [\-v] [\-\-interactive] [\-\-] <file>\&...
+\fIgit\-add\fR [\-n] [\-v] [\-f] [\-\-interactive] [\-\-] <file>\&...
.SH "DESCRIPTION"
All the changed file contents to be committed together in a single set of changes must be "added" with the \fIadd\fR command before using the \fIcommit\fR command. This is not only for adding new files. Even modified files must be added to the set of changes about to be committed.
The \fIgit status\fR command can be used to obtain a summary of what is included for the next commit.
-This command only adds non\-ignored files, to add ignored files use "git update\-index \-\-add".
+This command can be used to add ignored files with \-f (force) option, but they have to be explicitly and exactly specified from the command line. File globbing and recursive behaviour do not add ignored files.
Please see \fBgit\-commit\fR(1) for alternative ways to add content to a commit.
.SH "OPTIONS"
.TP
<file>\&...
-Files to add content from.
+Files to add content from. Fileglobs (e.g. *.c) can be given to add all matching files. Also a leading directory name (e.g. dir to add dir/file1 and dir/file2) can be given to add all files in the directory, recursively.
.TP
\-n
Don't actually add the file(s), just show if they exist.
\-v
Be verbose.
.TP
+\-f
+Allow adding otherwise ignored files.
+.TP
\-\-interactive
Add modified contents in the working tree interactively to the index.
.TP
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-RM" "1" "10/03/2006" "" ""
+.TH "GIT\-RM" "1" "12/26/2006" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
git\-rm \- Remove files from the working tree and from the index
.SH "SYNOPSIS"
-\fIgit\-rm\fR [\-f] [\-n] [\-v] [\-\-] <file>\&...
-.sp
+\fIgit\-rm\fR [\-f] [\-n] [\-r] [\-\-cached] [\-\-] <file>\&...
.SH "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".
-.sp
+Remove files from the working tree and from the index. The files have to be identical to the tip of the branch, and no updates to its contents must have been placed in the staging area (aka index).
.SH "OPTIONS"
.TP
<file>\&...
-Files to remove from the index and optionally, from the working tree as well.
+Files to remove. Fileglobs (e.g. *.c) can be given to remove all matching files. Also a leading directory name (e.g. dir to add dir/file1 and dir/file2) can be given to remove all files in the directory, recursively, but this requires \-r option to be given for safety.
.TP
\-f
-Remove files from the working tree as well as from the index.
+Override the up\-to\-date check.
.TP
\-n
Don't actually remove the file(s), just show if they exist in the index.
.TP
-\-v
-Be verbose.
+\-r
+Allow recursive removal when a leading directory name is given.
.TP
\-\-
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).
-.SH "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:
-.sp
-.TP 3
-1.
-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);
.TP
-2.
-Giving the name of a file that is not in the index does not remove that file.
+\-\-cached
+This option can be used to tell the command to remove the paths only from the index, leaving working tree files.
+.SH "DISCUSSION"
+The list of <file> given to the command can be exact pathnames, file glob patterns, or leading directory name. The command removes only the paths that is known to git. Giving the name of a file that you have not told git about does not remove that file.
.SH "EXAMPLES"
.TP
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.
-.sp
-Note that the asterisk
-*
-is quoted from the shell in this example; this lets the command include the files from subdirectories of
-Documentation/
-directory.
+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.
.TP
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.
+Remove all git\-*.sh scripts that are in the index. The files are removed from the index, and from the working tree. 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.
.SH "SEE ALSO"
\fBgit\-add\fR(1)
-.sp
.SH "AUTHOR"
Written by Linus Torvalds <torvalds@osdl.org>
-.sp
.SH "DOCUMENTATION"
Documentation by Junio C Hamano and the git\-list <git@vger.kernel.org>.
-.sp
.SH "GIT"
Part of the \fBgit\fR(7) suite
-.sp
+