GIT-RM(1)

NAME
git-rm - Remove files from the working tree and from the index

SYNOPSIS
git-rm [-f] [-n] [-v] [--] <file>....sp

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

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:.sp

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);

2.  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.

SEE ALSO
git-add(1).sp

AUTHOR
Written by Linus Torvalds <torvalds@osdl.org>.sp

DOCUMENTATION
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>..sp

GIT
Part of the git(7) suite.sp